spring boot 2 와 이전 버전의 차이점
1. Java 8 이 최소 버전이다.
java9 를 지원하는 최초의 버전이다.
2. tomcat 8,5 가 최소버전이다.
3. Hibernate 5.2 가 최소 버전이다.
4. Gradle 3.4 가 최소 버전이다.
5. Spring Security 구성이 더 쉬워지고 Spring Security Oauth2가 Spring Security에 합쳐졌다. 보안 자동 구성은 더 이상 옵션을 노출하지 않고 가능한 한 Spring Security 기본값을 사용한다. -Spring Security5
사용자가 한 곳에서 명시적으로 환경설정을 할 수 있다. 이런 게 WebSecurityConfigurerAdapter 의 순서 문제를 막을 수 있다.
예를 들어 Actuator 와 앱의 보안 문제를 커스텀 할 수 있게 해준다.
http.authorizeRequests()
.requestMatchers(EndpointRequest.to("health"))
.permitAll() // Actuator rules per endpoint
.requestMatchers(EndpointRequest.toAnyEndpoint())
.hasRole("admin") // Actuator general rules
.requestMatchers(PathRequest.toStaticResources().atCommonLocations())
.permitAll() // Static resource security
.antMatchers("/**")
.hasRole("user") // Application security rules
6. 리액티브를 지원한다.
여러 리액티브 모듈의 스타터를 제공한다. 예를 들어 WebFlux 와 MongoDB 와 Cassandra 또는 Redis.
7. 커넥션 풀이 HikariCP 로 설정된다.
8. Spring Boot 2.X에서 많은 구성 속성의 이름이 변경 / 제거되었으며 개발자는 그에 따라 application.properties/application.yml을 업데이트해야한다.
9. Mockito 1.x는 더 이상 지원되지 않는다. spring-boot-starter-test를 사용하여 종속성을 관리하지 않는 경우 Mockito 2.x로 업그레이드해야한다.
10. Spring-boot-starter-data-redis를 사용할 때 Redis 드라이버로 Jedis 대신 Letuce가 사용된다.
11. Elasticsearch가 5.4 이상으로 업그레이드되었다.
출처 : https://juntcom.tistory.com/116