The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications – on any kind of deployment platform.
A key element of Spring is infrastructural support at the application level: Spring focuses on the “plumbing” of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.
- Core technologies: dependency injection, events, resources, i18n, validation, data binding, type conversion, SpEL, AOP.
- Testing: mock objects, TestContext framework, Spring MVC Test,
- Data Access: transactions, DAO support, JDBC, ORM, Marshalling XML.
- Spring MVC and Spring WebFlux web frameworks.
- Integration: remoting, JMS, JCA, JMX, email, tasks, scheduling, cache.
- Languages: Kotlin, Groovy, dynamic languages.
⭐ New Features
- Remove DNS lookups during websocket connection initiation #28280
- Add application/graphql+json Media type and MIME type constants #28271
- Fix debug log for no matching acceptableTypes #28116
- Provide support for post-processing a LocalValidatorFactoryBean’s validator Configuration without requiring sub-classing #27956
🐞 Bug Fixes
- Improve documentation and matching algorithm in data binders #28333
- NotWritablePropertyException when attempting to declaratively configure ClassLoader properties #28269
- BeanPropertyRowMapper’s support for direct column name matches is missing in DataClassRowMapper #28243
- AbstractListenerReadPublisher does not call
ServletOutputStream::isReady()when reading chunked data across network packets #28241
- ResponseEntity objects are accumulated in ConcurrentReferenceHashMap #28232
- Lambda proxy generation fix causes BeanNotOfRequiredTypeException #28209
- CodeGenerationException thrown when using AnnotationMBeanExporter on JDK 17 #28138
🔨 Dependency Upgrades
- Upgrade to Reactor 2020.0.18 #28329