09
13

Spring Boot Framework와 Spring Framework의 차이점

 

1. Dependency

스프링 프레임워크의 경우 dependency를 설정해줄 때 설정 파일에 하나하나 다 입력하고, 버전관리도 해줘야한다.

 

ex)스프링 프레임 워크에서 web에 대한 dependency를 추가하는 코드

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.3.5</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.5</version>
</dependency>

출처: https://www.baeldung.com/spring-vs-spring-boot

 

ex)스프링부트 프레임 워크에서 web에 대한 dependency를 추가하는 코드

implementation 'org.springframework.boot:spring-boot-starter-web'

빌드 툴을 Gradle을 사용하는 경우 위와 같이 build.gradle파일에 dependency를 추가해주면 Spring Boot로 웹 개발을 할 때 필요한 모든 dependency를 자동으로 추가하고 관리해준다

 

 

2. Configuration

스프링의 경우 configuration의 설정도 매우 길고, 모든 어노테이션과 빈을 등록하고 설정해줘야한다.

스프링 부트는 application.properties파일이나 application.yml파일에 간단하게 추가해주면 된다.

 

2.1 AutoConfiguration

스프링 부트로 실행할 수 있는 어플리케이션을 만들기 시작하면 @SpringBootApplication이라는 어노테이션이 생성된다

이 어노테이션을 제거하고 프로그램을 실행하면 일반적인 자바 프로그램과 동일하게 실행된다.

 

@ComponentScan

@Component, @Controller, @Repository, @Service라는 어노테이션이 붙어있는 객체들을 스캔해 자동으로 Bean에 등록해준다

 

@EnableAutoConfiguration

@ComponentScan 이후 사전에 정의한 라이브러리들을 Bean에 등록해준다

사전에 정의한 라이브러리들은 다음 경로에서 확인할 수 있다.

하지만 사전에 정의한 라이브러리라고 전부 Bean에 등록되진 않는다

 

 

3. 편리한 배포

스프링의 경우 war파일을 WAS(Web Application Server)에 담아 배포했으나

스프링 부트의 경우 Tomcat이나 Jetty같은 내장 WAS를 가지고 있기 때문에 jar파일로 간편하게 배포할 수 있다

 

참고: https://programforlife.tistory.com/68

'Spring' 카테고리의 다른 글

[mybatis]  (0) 2022.09.13
[Spring] IoC(Invesion of Control) 제어의 역전  (0) 2022.09.13
COMMENT