我是 Spring Boot 新手。我有一个关于 sprint 启动自动配置机制的非常基本的问题。
据我通过阅读文档了解到,对于 Spring Boot 自动配置库(jar)中的 bean,库提供者必须使用 @Autoconfiguration 注释来注释该类,并在文件 META-INF/spring/ 中提供自动配置类名称org.springframework.boot.autoconfigure.AutoConfiguration.import.
我不明白的是,两者都需要什么?
在文件 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.import 中提供自动配置类,并使用 @Autoconfiguration 注释该类。
@Autoconfiguration 注解还有什么其他用途?
如果我们在导入文件中提供自动配置类名称,Spring Boot应该将其假定为自动配置类并自动配置其中的bean。
@AutoConfiguration 注解和 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.import 文件具有互补的用途:
@AutoConfiguration:标记一个用于自动配置的类,并包含条件 bean 创建的逻辑。
AutoConfiguration.import:列出用于集中注册和发现的自动配置类。