23.12.27 수
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
Spring Boot을 사용하면 "그냥 실행"할 수 있는 독립형 프로덕션 등급의 Spring 기반 애플리케이션을 쉽게 만들 수 있습니다.
스프링 부트가 없던 시절.. 배포를 하려면?
1.WAS를 설치한다
2.개발한 코드를 war 파일로 빌드한다.
3.war파일을 WAS 폴더 하위에 넣는다.
4.WAS를 실행한다.
스프링부트에서는 라이브러리로 포함하는 내장 톰캣 기능 제공
-> war파일이 아닌 jar 파일로 패키징하여 바로 main메소드 실행가능
우선 설정파일이 매우~ 길고, 일일이 버전을 설정해주어야 함.
반면 스프링부트에서는
implementation 'org.springframework.boot:spring-boot-starter-web'
build.gradle에 코드 한줄 추가로 해결 가능함.
모든 어노테이션 및 빈 등록 등을 설정해 줘야 합니다.
Spring Boot Framework는 application.properties파일이나 application.yml파일에 설정하면 됩니다.
@Repository
public class MemberDao{
private final JdbcTemplate jdbcTemplate;
public ProductDao(JdbcTemplate jdbcTemplate){
this.jdbcTemplate = jdbcTemplate;
}
}
JdbcTemplate을 빈으로 등록한 적이 없음에도, 주입받고 있다. 어떻게?
spring-boot-autoconfigure 라는 모듈을 통해 수많은 자동 구성을 제공.
@SpringBootApplication 어노테이션을 보면..
@ComponentScan
@Component, @Controller, @Repository, @Service라는 어노테이션이 붙어있는 객체들을 스캔해 자동으로 Bean에 등록해줍니다.
@EnableAutoConfiguration
@ComponentScan 이후 사전에 정의한 라이브러리들을 Bean에 등록해줍니다.
사전에 정의한 라이브러리들은 다음 경로에서 확인할 수 있습니다.
하지만 사전에 정의한 라이브러리라고 전부 Bean에 등록되진 않습니다.
EnableAutoConfiguration을 키로 하는 외부 의존성들을 확인할 수 있습니다. 이 의존성들을 모드 스캔하며 조건에 따라 의존성을 주입해 줍니다.
Spring Framework는 기존에 EJB를 대신해 자바 애플리케이션을 더 쉽게 만들 수 있게 해 주고, Spring Boot Framework는 Spring Framework보다 개발자가 더더욱 개발에만 집중할 수 있도록 도와주는 프레임워크입니다.
https://spring.io/projects/spring-boot/
https://www.youtube.com/watch?v=YdE4krx0dsM&t=113s
https://programforlife.tistory.com/68