Open Pyohwan opened 4 years ago
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes
SecurityWebFilterChain
Environment
@ConfigurationProperties
List<PersonName> people = Binder.get(environment) .bind("my.property", Bindable.listOf(PersonName.class)) .orElseThrow(IllegalStateException::new);
PersonName 의 List로 잘 바인딩 해줌
PersonName
List
my: property:
### Property Origins
Origin
BindException
OriginProvider
{ "name": "applicationConfig: [classpath:/application.properties]", "properties": { "spring.security.user.name": { "value": "user", "origin": "class path resource [application.properties]:1:27" } } }
Duration
server.servlet.session.timeout=180s
@DurationUnit
String
Collection
Array
@Delimiter(Delimiter.NONE)
/actuator
management.endpoints.web.exposure.include
@Endpoints
spring.batch.initialize-schema=always
JdbcTemplate
spring.jdbc.template
NamedParameterJdbcTemplate
spring.data.web
url
user
DataSource
ImplicitNamingStrategy
PhysicalNamingStrategy
HibernatePropertiesCustomizer
MongoClientSettingsBuilderCustomizer
spring.cache.redis.*
Tomcat started on port(s): 8080 (http) with context path '/foo'
thymeleaf-extras-java8time
javax.time
spring-boot-starter-json
spring-boot-starter-quartz
JobDetail
Calendar
Trigger
Scheduler
@WebFluxTest
@WebMvcTest
Converter
GenericConverter
WebTestClient
@AutoConfigureWebTestClient
ApplicationContextRunner
@ConditionalOnBean
encodepassword
scheduledtasks
loggers
sessions
spring-boot-starter-parent
-parameters
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes
Java 8 Baseline and Java 9 Support
Third-party Library Upgrades
Reactive Spring
Spring WebFlux & WebFlux.fn
Reactive Spring Data
Reactive Spring Security
SecurityWebFilterChain
를 통해 WebFlux rules 구성 가능Embedded Netty Server
HTTP/2 Support
Configuration Property Binding
Environment
properties 가@ConfigurationProperties
로 완전히 점검 되었다PersonName
의List
로 잘 바인딩 해줌Origin
정보가 포함되었다BindException
는OriginProvider
에서 발생하는데, 문제지점을 잘 표시해준다Converter Support
Duration
type, delimited 문자 지원@DurationUnit
를 지정하지 않으면, back-compatibility 로 셋팅한다?String
을Collection
orArray
로 변환할때,@Delimiter(Delimiter.NONE)
이렇게 쓸 수 있다Gradle Plugin
Kotlin
Actuator Improvements
/actuator
path 이다.management.endpoints.web.exposure.include
property 주의 하라Actuator JSON
Jersey and WebFlux Support
Hypermedia links
Actuator @Endpoints
@Endpoints
쓸수 있다Micrometer
Data Support
HikariCP
Initialization
spring.batch.initialize-schema=always
해두면 스프링 배치 초기화 할때 항상 수행JOOQ
JdbcTemplate
JdbcTemplate
를 커스터마이징 할 수 있는spring.jdbc.template
properties 제공NamedParameterJdbcTemplate
에서JdbcTemplate
를 재사용Spring Data Web Configuration
spring.data.web
설정 도입Influx DB
Flyway/Liquibase Flexible Configuration
url
,user
property 만 있을경우, Flyway and Liquibase 의 자동 설정을 무시 하지 않고 재사용 함DataSource
만들 수 있음Hibernate
ImplicitNamingStrategy
,PhysicalNamingStrategy
를 정의하고 context 내에서 beans 사용 가능HibernatePropertiesCustomizer
로 세세하게 설정 가능MongoDB Client Customization
MongoClientSettingsBuilderCustomizer
로 고급 사용자 정의 가능Redis
spring.cache.redis.*
properties 로 캐시 기본값 설정 가능Web
Context Path Logging
Web Filter Initialization
Thymeleaf
thymeleaf-extras-java8time
가 포함되어javax.time
타입 지원 함JSON Support
spring-boot-starter-json
는 JSON 을 읽고 쓰는 bits를 수집 함Quartz
spring-boot-starter-quartz
추가 됨JobDetail
,Calendar
,Trigger
는 자동으로Scheduler
에 등록 됨Testing
@WebFluxTest
에서 "slice" 테스트 지원?@WebMvcTest
and@WebFluxTest
에서 자동으로Converter
andGenericConverter
를 스캔 함WebTestClient
지원을 위해@AutoConfigureWebTestClient
이 추가 됨.@WebFluxTest
는 자동으로 적용 됨ApplicationContextRunner
이 추가됨Miscellaneous
@ConditionalOnBean
에서 조건이 충족되었음이 논리적 AND 가 아닌 논리적 OR 로 바뀜encodepassword
명렁어가 포함되었고 Spring Security 의 해시 비밀번호 생성 가능scheduledtasks
actuator endpoint 로 review 가능하다loggers
actuator endpoint 로 로거 레벨을 기본값으로 재설정 가능?sessions
actuator endpoint 에서 찾아서 지울 수 있음spring-boot-starter-parent
를 사용하는 Maven 기반 애플리케이션은 기본적으로-parameters
flag 를 사용 함Animated ASCII Art