기존의 Spring Project에는 프로젝트의 dependencies를 일일히 주입해주고 여러가지 번거로운 귀찮음이 있었다.
Spring은 SpringBoot를 제공함으로써 개발자가 개발을 편하게 하도록 도와준다.
Spring과 관련된 Reference를 읽다 보면 큰 도움이 될 것이다!(재미있기도 하고)
spring core, logging 등 개발에 필요한 모듈들을 모아놓은 일종의 POM 파일
SpringBoot는 스타터 모듈을 제공함으로써 설정 파일을 간단하게 유지할 수 있다.
설정보다 관례
모든 것을 다 설정하면서 어플리케이션을 구성하기 보다는 관례에 따라 기본적으로 설정이 되고 특별하게 적용해야 하는 것들에만 설정을 정의하자!
일반적으로 SpringBootInitializer로 프로젝트를 만들면 xxxApplication.class 파일까지 만들어진다.
@SpringBootApplication은 자동으로 ApplicationContext를 생성하고, 다양한 부가 기능들을 제공해준다.
SpringApplication.run()을 통해 간편하게 실행할 수 있다.
@SpringBootConfiguration을 어노테이션 한 클래스에는 Bean Definition을 할 수 있다?(정리중)
SpringBootApplication에는 대체적으로 하나의@SpringBootConfiguration을 최상위 디렉토리에 작성하고, 별도로 각 설정에 맞는 Configuration을 용도별로 분류해서 작성한다.
Run/Debug Configuration에서 SpringBootApplication에 관련된 세션을 제공하여 여러가지 정보들을 손쉽게 추가, 제어할 수 있다.
ex) active profile 설정
SpringBoot를 사용하면 기본적으로 Logback이 사용되고 SLF4J가 이용 가능하다.
또한 따로 logback.xml 설정을 하지 않고 SpringBoot에서 제공해주는 설정을 통해서 logging 처리를 할 수 있다. 필요하면 SpringBoot의 logback을 상속받아서 처리할 수 있다.
Properties, YAML, Command line 설정 등 SpringBoot가 편리하게 지원
SpringBootApplication은 application.yaml, application.properties와 같은 설정파일들을 인식하므로 이 안에 작성해서 사용할 수 있다.
spring-boot-maven-plugin 플러그인을 이용하면 jar / war 패키징을 손쉽게 할 수 있다.
mvn clean package spring-boot:repackage
: target
폴더에 executable jar파일이 만들어진다.
java -jar target/jar 파일
: jar 파일 실행
jar 파일을 배포하고 원하는 곳에서 실행 가능하다.
COC 의미
SpringBoot Banner Generator - banner.txt로 변경
SpringBoot : 외부에서 설정 주입하기, 보자!!!!!
스프링 부트를 사용하세요!