스프링 #1 스프링이란?

함형주·2022년 3월 2일
1

spring

목록 보기
1/12

질문, 피드백 등 모든 댓글 환영합니다.

스프링, 첫 걸음

제로 베이스부터 시작하는 웹 서버 개발?

웹 애플리케이션 개발에 대해서 아는 것은 하나도 없지만 어차피 아는 거 없는 김에 무작정 시작해본 spring입니다.
처음 공부하는 것이기 때문에 순서가 뒤죽박죽이고 오류가 있을 수 있습니다.

1. 스프링이란?

스프링은 오픈소스 웹 애플리케이션 개발 프레임워크입니다.
스프링 DI 컨테이너, 스프링 MVC, AOP등의 기술을 지원하며 사용가능한 언어로는 JAVA, KOTLIN, GROOVY가 있습니다. 현재는 스프링 단독으로 사용하기보단 스프링 부트를 이용하여 개발합니다. 스프링 부트는 Tomcat(웹 서버)를 내장하고 있어 별도의 웹 서버가 필요없고 간결한 설정으로인해 보다 편리하게 개발할 수 있습니다.

스프링의 핵심은 객체 지향적인 개발을 할 수 있도록 도와주는 프레임워크라는 것입니다.
일반적으로 웹 애플리케이션은 그 규모가 방대하고 서비스를 운영함에 따라 새로운 기능의 추가, 기존 요구 사항의 수정이 필연적으로 발생합니다.
스프링은 DI 컨테이너를 제공하고 추상화, 다형성을 적극 활용하여 OCP(개방-폐쇄 원칙), DIP(의존관계 역전 원칙)를 가능하게 지원합니다. 기능 확장 및 새로운 기능 도입에 유용하며 특정한 환경에 종속되지 않도록 비지니스 로직 작성이 가능합니다.
또한 IOC(제어의 역전) 을 통해 작성한 코드의 호출 작업을 스프링에 전가하면서 인스턴스의 생명 주기 관리, 기타 기술적인 사항을 신경쓰지 않고 비지니스 로직을 작성하는 것에 집중할 수 있습니다.

2. 프로젝트 생성

스프링 부트(스프링 이니셜라이저)를 이용하자

https://start.spring.io

스프링 부트(스프링 이니셜라이저)를 이용하면 정말 간편하게 프로젝트를 생성할 수 있습니다.

프로젝트 설정

  • Project: Gradle / Maven
  • Spring Boot (버전에 snapshot, m1, m2가 붙어있는 것은 정식버전이 아니니 이것들을 제외한 최신버전 사용)
  • Language: Java, Kotlin, Groovy
  • Packaging: Jar / War
  • Java: 19 / 17 / 11 / 8 (2023.01 기준으로 스프링부트 3.0 이상은 Java17 이상만 지원합니다.)
  • Project Metadata
    (원하는 이름으로 설정)
  • Dependencies
    (사용할 라이브러리를 설정, 추후 추가도 당연히 가능)

3. 프로젝트 실행

IntelliJ 기준으로 file->open, 생성한 프로젝트의 build.gradle 선택해줍니다.
처음 실행하는 경우 라이브러리를 받아오느라 시간이 걸릴 수 있습니다.

외부라이브러리를 모두 불러 왔다면 main 메소드가 있는 xxxApplication을 실행해줍니다.

이렇게 실행된다면 성공!

이제 인터넷 브라우저를 열어 http://localhost:8080/ 를 입력해줍니다.
그러면 이렇게 error page가 나올텐데 정상입니다. 우린 아무것도 설정해준게 없으니까요. 앞으로 html문서를 만들고 서비스를 개발해주면 됩니다.

참고로 src/main/resources/static/index.html을 만들면 index.html이 welcome page로 올라옵니다.

스프링 #1은 여기까지만 작성하겠습니다. 생각보다 블로그 작성이 어렵다는 것을 느낍니다. 앞으로 꾸준히 작성해보겠습니다.

profile
평범한 대학생의 공부 일기?

0개의 댓글

관련 채용 정보