도서 Boot Spring Boot! 의 저자 김지헌 님이 발표를 하셨던 북 콘서트에 다녀오고 정리해 봅니다.
Spring Boot 란?
- Web Application 을 쉽고 빠르게 개발할 수 있다.
- Auto configuration 으로 접근 장벽을 낮췄다.
- 나온지 5년이 지났지만 아직도 한번도 써보지 않은 개발자들이 많다.
Spring Boot 가 쉽고 빠른 이유
- 많은 Starter project 들이 있어 필요한 기능을 쉽게 사용할 수 있다.
- 참고 : https://github.com/spring-projects/spring-boot/tree/master/spring-boot-project/spring-boot-starters
Jar vs War
- Spring Boot 는 Embedded container 를 포함한 FAT jar 를 이용한 Application deploy 를 권장한다.
- Cloud Native Java 참고 : http://www.yes24.com/24/goods/61788283?scode=032&OzSrank=1
Spring Boot 1.5.x vs 2.x.x
- Java 8 이상을 완벽하게 지원하는 Spring Boot 2.x.x 이상을 사용하라
- Spring Boot 2.x.x 에서부터는 Tomcat-JDBC 에서 HikariCP 가 기본으로 변경 되었다.
- 참고 : https://github.com/brettwooldridge/HikariCP
- 1.5.x 는 java 1.6, 1.7, 1.8 을 위해 만들어졌다. (하위 호환성을 위한 희생이 있음)
- 2.0.x 는 java 1.8 이상을 위해 만들어졌다.
- 1.5.x 와 2.x.x 는 actuator 사용시 endpint 가 달라졌다.
- 1.5.x : /{endpoint}
- 2.x.x : /actuator/{endpoint}
- 1.5.x 와 2.x.x 의 container 는 명칭과 기능이 달라졌다.
- 1.5.x : embedded container
- 2.x.x : web server (reactive 지원)
- 1.5.x 는 2019-08-01 에 지원이 끝난다. 따라서 가능하면 2.x.x로 갈아 타도록 하자
Spring Boot Auto Configure
- Spring Boot 는 편리성을 위해서 Auto Configure 를 지원한다.
- 본인이 사용하는 모듈이 어떤 설정으로 구동 되는지 확인하자 : https://github.com/spring-projects/spring-boot/tree/master/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure
Spring Boot Dependency
- Spring Boot 는 dependency에 버전을 명시하지 않아도 동작을 하는게 기본 설정되어있는 버전이 있기 때문이다.
- 본인이 사용하는 모듈의 라이브러리 버전을 확인하도록 하자
- Spring Boot reference 참고 : https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#appendix-dependency-versions
Debug 모드 활용
- Application.yml 이나 properties 에 debug : true 로 설정해 주면 (기본값은 false)
- 라이브러리 간에 의존성이나 기타 디버깅을 볼 수 있다.
저자 싸인 받았음 히히