See https://github.com/spring-projects/spring-boot/issues/29698
The most important changes are:
- All AutoConfigurations are now annotated with
@AutoConfiguration
and the registration of those moved fromspring.factories
to the new file. Together with the changes in the selector this is now a backwards-compatible change. The spring.factories loading can be deprecated now and removed in 3.0.0 - Here's the actual code which does the loading from the new file
- Update of the AutoConfigurationMetadata gradle task
- The documentation has been updated
- To get
@ImportAutoConfiguration
working, the selector has been updated and the documentation has been updated - The test slice configuration has been moved from
spring.factories
to the new mechanism (here's the example for Cassandra)
Task list
- [x] Design and document a file format that can replace
spring.factories
for auto-configuration. - [x] Update the existing import to use both
spring.factories
and the new entries. - [x] Introduce a new
@AutoConfiguration
annotation which is meta-annotated with@Configuration
. The new annotation will defaultproxyBeanMethods
tofalse
. - [x] Document the changes in the reference docs
- [ ] provide a wiki migration guide
- [x] Update documentation tooling in
buildSrc
to read the new file - [ ] Check with existing IDE and tool vendors to ensure the new format doesn't cause issues
The following nice-to-have tasks have been identified:
- [ ] Develop a migration tool to convert our existing codebase (a tool will be valuable for other project, but we might also be able to use
sed
) - [ ] Update our annotation processor so the the new auto-configuration file can be auto-generated
Comment From: mhalbritter
I splitted the commits into different issues and commited them directly to 2.7.x
branch. This PR is obsolete.