再见SpringBoot 1.X
官方宣布Spring 确认将不再为 1.x 系列发布维护版本。再此一年前 Spring 官方就宣布 Spring Boot 1.x 生命周期将于今年 8 月 1 日结束。
官方希望用户尽快迁移到 Spring Boot 2.x 上,为此还制作了一份迁移指南:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide
官方建议分阶段升级,而不是直接跳转到最新的稳定版本。用户可以从最新的 1.5.x 版本升级到最新的 2.0.x 版本,之后再升级到 2.1.x 版本中的最新版本。
喜迎SpringBoot 2.1.7
在宣布退役SpringBoot 1.x同时,SpringBoot 2.1.7也引来release版本发布
新特性
- Allow AbstractDependsOnBeanFactoryPostProcessor to identify depended on beans by type #17020
修复问题
- Fix log info #17774
- Wrong bean name on Reactive Cassandra Health Indicator condition #17763
- Undertow servers include their own mime mappings in addition to ours #17687
- Missing TransactionManager when user provides a custom Neo4j SessionFactory. #17662
- Fix ordering of SPRING_APPLICATION_JSON property source relative to servlet property sources #17652
- Reactive health indicators do not log health check failure #17635
- JavaVersion does not cover all available versions of Java #17590
- UndertowReactiveWebServerFactory has DeploymentInfoCustomizers even though it does not create a DeploymentInfo #17555
- MockMvc logging requests from all previous tests with Spring Boot Test #17551
- Quartz auto-configuration will initialise the DataSource with Quartz's DDL when not using a JDBC job store #17545
- getResourcePaths(String) allows navigation through the loader's directory structure when using Tomcat #17538
- ActiveMQConnectionFactory is not configured when CachingConnectionFactory is missing and enabled properties are false #17531
- @DataJdbcTest is documented as being transactional but isn't #17513
- Trimming the whitespace for the OAuth2 provider property #17497
- Create RestClient bean from a RestHighLevelClient if such a bean has been contributed by the application. #17488
- Batch app fails to start if there's an entityManagerFactory bean but no DataSource bean #17465
- Batch auto-configuration backs off too aggressively without a dependency on spring-jdbc #17451
- Batch app fails to start if spring-jdbc is on the classpath but there's no DataSource bean #17449
- /actuator/logfile endpoint returning 404 when logging.file property contains a random value #17434
- Validation does not apply to hander replaced results #17421
- MongoDataAutoConfiguration not applied when a MongoDbFactory is provided by Spring Cloud #17416
- Shutdown endpoint is called when the application context is closed as its shutdown() method is inferred to be a destroy method #17407
- Jetty logs a warning about an empty context path when using WebFlux #17399
- Dependency management for Infinispan is incomplete #17346
- Classes and resources with a single letter component in their package name cannot be loaded from jar files with /./ or /../ in their path #17341
- StringToEnumIgnoringCaseConverterFactory getLettersAndDigits returns an integer string #17327
- HibernateJpaAutoConfiguration's condition uses deprecated classes #17288
- JUL logger configuration may be lost before usage due to GC #17217
- EmbeddedMongoAutoConfiguration should depend on bean by type #16627
- Inconsistent behavior turning off the check for the change log location: Liquibase fails anyway #16232
预告SpringBoot 2.20
再与此同时SpringBoot 2.20也进入了第5个里程碑M5
新特性
- Default BindHandler in programmatically created Binder #17773
- Updated OAuth 2.0 Issuer-Based Auto Configuration #17761
- Content strategy does not work with Thymeleaf and WelcomePageHandlerMapping #17759
- Allow actuator endpoint selectors to capture all paths #17743
- Add dependency management for Kotlin Coroutines BOM #17701
- Allow for custom ElasticSearch's EntityMapper bean #17661
- Default password should not be generated when using resource server #17646
- Add assertion to differ between a null value JSON property and absence of the property #17608
- Include WebFilter beans in WebFluxTest slice #17601
- Include HandlerInterceptor beans in WebMvcTest slice #17600
- Remove unused java-statsd-client dependency management and dependencies #17576
- Remove support for DeploymentInfo customization from UndertowReactiveWebServerFactory as no DeploymentInfo is used in the reactive case #17562
- Add NettyServerCustomizer beans to the auto-configured NettyReactiveWebServerFactory automatically #17556
- NoSuchMethodFailureAnalyzer does not work with Java 13 #17544
- Make it easier to determine the order of each of an application's servlet filters #17520
- Add support for configuring logger groups via loggers endpoint #17515
- Add support for configuring Spring Session SaveMode #17514
- Allow OutputCaptureRule to be used directly with AssertJ #17512
- Provide configuration properties for configuring Tomcat's relaxed path and query chars #17510
- Add metrics support for idle jdbc connections #17504
- Provide configuration property for DispatcherServlet.publishEvents #17500
- Add HealthIndicator for Hazelcast #17499
- Allow AbstractDependsOnBeanFactoryPostProcessor to identify depended on beans by type #17479
- Deprecate Joda-Time auto-configuration in favour of using java.time (JSR-310) #17419
- Provide discovery page for actuators at / when using a separate management port #17418
- Switch Jersey starter to use Spring 5 module #17412
- Allow binding to package private methods #17394
- Allow build info goal's build.time to be disabled so that its output is repeatable #17390
- add isolation level to KafkaProperties #17389
- Consistently coerce false to off and true to on where applicable #17385
- Provide a
@BatchDataSource
qualifier to allow a Batch-specific DataSource to be identified #17375 - Allow Undertow's server and socket options to be configured via the environment #17356
- Update caching auto-configuration to use Infinispan's Spring 5 support #17333
- Add
client-name
property to specify a Redis client name #17330 - Allow additional connectors to be added to a reactive Tomcat web server #17323
- Auto-configure Kafka listener container with user-provided RecordInterceptor #17322
- Allow custom resource handlers to provide favicon #17318
- Introduce a customizer callback for RedisCacheManagerBuilder #17287
- Update RestTemplateBuilder.defaultHeader to use an array for a default header value instead of a single value #17286
- Make layout parameter available as a user property #17277
- Fail fast if SPRING_CONFIG_LOCATION specifies a file with an extension that no PropertySourceLoader can read #17241
- Add support for reactor-tools #17128
- Disable auto-configuration of HiddenHttpMethodFilter by default #16953
- Disable @ConfigurationProperties scan in slice tests #16659
- Automatically register @EndpointConverter-annotated Converter and GenericConverter beans with the ConversionService used by Actuator endpoints #16449
- Optimize JavaBeanBinder #16447
- Add support for plain text output to the threaddump endpoint #2339
修复问题
- Fix log info #17793
- Inconsistent behavior turning off the check for the change log location: Liquibase fails anyway #17769
- Missing TransactionManager when user provides a custom Neo4j SessionFactory. #17767
- Wrong bean name on Reactive Cassandra Health Indicator condition #17764
- Create RestClient bean from a RestHighLevelClient if such a bean has been contributed by the application. #17753
- Fix ordering of SPRING_APPLICATION_JSON property source relative to servlet property sources #17748
- Reactive health indicators do not log health check failure #17664
- Trimming the whitespace for the OAuth2 provider property #17624
- ActiveMQConnectionFactory is not configured when CachingConnectionFactory is missing and enabled properties are false #17602
- JavaVersion does not cover all available versions of Java #17599
- @DataJdbcTest is documented as being transactional but isn't #17580
- getResourcePaths(String) allows navigation through the loader's directory structure when using Tomcat #17575
- MockMvc logging requests from all previous tests with Spring Boot Test #17552
- Quartz auto-configuration will initialise the DataSource with Quartz's DDL when not using a JDBC job store #17546
- /actuator/logfile endpoint returning 404 when logging.file property contains a random value #17486
- EmbeddedMongoAutoConfiguration should depend on bean by type #17481
- Mutation of Jackson2ObjectMapperBuilder in one injection point may affect subsequent usages #17477
- JUL logger configuration may be lost before usage due to GC #17470
- Batch app fails to start if there's an entityManagerFactory bean but no DataSource bean #17466
- Batch auto-configuration backs off too aggressively without a dependency on spring-jdbc #17454
- Batch app fails to start if spring-jdbc is on the classpath but there's no DataSource bean #17453
- MongoDataAutoConfiguration not applied when a MongoDbFactory is provided by Spring Cloud #17432
- ClassCastException in RSocket auto-configuration when Jackson XML is present #17425
- ValidationBindHandler fails if setters cannot be accessed #17424
- Validation does not apply to hander replaced results #17422
- Jetty logs a warning about an empty context path when using WebFlux #17409
- Shutdown endpoint is called when the application context is closed as its shutdown() method is inferred to be a destroy method #17408
- Dependency management for Infinispan is incomplete #17401
- StringToEnumIgnoringCaseConverterFactory getLettersAndDigits returns an integer string #17396
- Classes and resources with a single letter component in their package name cannot be loaded from jar files with /./ or /../ in their path #17381
- Make rSocketServerBootstrap @ConditionalOnMissingBean #17301
- OAuth2 Resource Server Opaque Token configuration property namespace has a hyphen in its name #17290
- HibernateJpaAutoConfiguration's condition uses deprecated classes #17283
- Web server factory customizer beans that are also registered explicitly are called twice during web server creation #17264
- The -d option of spring init CLI command is not POSIX compliant #16663
- Content strategy does not work with Thymeleaf and WelcomePageHandlerMapping #16309
想了解更多技术资讯内容,欢迎收藏访问:https://www.v2tn.com
记得扫一扫关注公众号,实时掌握技术动态