티스토리 뷰

반응형

Spring Framework는 기능이 많은 만큼 환경이 매우 복잡한 편이다

이에 어려움을 느끼는 사용자들을 위해 만든 것이 바로 스프링 부트다

 

Spring Boot

스프링 부트의 공식문서에서 밝히는 이들의 목표는 아래와 같다

• 모든 Spring 개발에 대해 근본적으로 더 빠르고 광범위하게 액세스 할 수 있는 시작 환경을 제공한다

• 대규모 프로젝트 클래스 (내장 서버, 보안, 매트릭, 상태확인 및 외부 구성)에 공통적인 기능 등을 제공한다

• 코드 생성 및 XML 구성 요구 사항이 없다

 

기존의 Spring과의 차이점을 대략 정리해 보자면 아래와 같다

 

1. 내장 톰캣

내장 톰캣을 사용하기 때문에 따로 톰캣을 설치하거나 매번 버전을 관리해 주지 않아도 된다

 

2. stater를 통한 dependency를 자동화

기존의 Spring에서는 denpendency들의 호환되는 버전을 일일히 맞추어 주어야 했고

이 때문에 하나의 dependency 버전을 바꾸게 되는 경우 나머지의 버전 또한 직접 설정해주어야 했다(맞는 버전으로)

/* gradle */
implementation 'org.springframework.boot:spring-boot-starter-aop:2.2.0.RELEASE'

위와 같이 작성해주면 스프링 부트에서는 이 starter를 통해

종속된 모든 라이브러리를 알맞게 찾아서 함께 가져오기 때문에 의존성이나 호환버전에 대해 신경 쓸 필요가 없다

 

3. XML

뷰 리졸버, 데이터액세스등의 xml 설정을 하지 않아도 된다

 

4. jar

jar file을 이용해 자바 옵션만으로 손쉽게 배포가 가능하다

 

5. AutoConfigurator

공통적으로 필요한 설정을 어노테이션을 이용하여 대신할 수 있다

예를 들어 스프링 부트의 main 메서드는 @SpringBootApplication이라는 어노테이션을 가지고 있는데

이것은 @ComponentScan + @Configuration + @EnableAutoConfiguration 등의 어노테이션을 합쳐놓았다

 

6. Spring Initializr

https://start.spring.io/ 에서 스프링이 공식적으로 제공하는 Spring Initializr를 사용하면

실행 환경이나 의존성 관리등의 인프라 부분을 신경 쓸 필요 없이 바로 코딩을 시작할 수 있게끔 환경을 제공해준다

 

더보기

개인 학습을 위해 작성되는 글입니다.

제가 잘못 알고 있는 점에 대한 지적 / 더 나은 방향에 대한 댓글을 환영합니다.

 

참조 링크:

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using

https://spring.io/guides/gs/spring-boot/

https://www.youtube.com/watch?v=6h9qmKWK6Io

https://velog.io/@courage331/Spring-%EA%B3%BC-Spring-Boot-%EC%B0%A8%EC%9D%B4

 

반응형
댓글