org.springframework.boot.autoconfigure.ImportAutoConfiguration
是org.springframework.context.annotation.Import
的改进替代品是否属实,因为相同并且另外尊重
@AutoConfigureBefore
,@AutoConfigureAfter
和@AutoConfigureOrder
?
答案 0 :(得分:1)
是真的吗?
org.springframework.boot.autoconfigure.ImportAutoConfiguration
是 改进了替代品org.springframework.context.annotation.Import
?
不,它不是替代品,因为@ImportAutoConfiguration
是一个特定于Spring Boot的注释,我可以称之为增强。但是,虽然看起来你在使用Spring Boot时可以互换使用它们,但我不会建议它。按照预期使用它们。
<小时/> 如果您不想使用
@ImportAutoConfiguration
启用默认自动配置,则可以使用@EnableAutoConfiguration
。您可能知道,@EnableAutoConfiguration
尝试配置位于类路径上的bean,例如tomcat-embedded.jar。而@ImportAutoConfiguration
仅运行您在注释中提供的配置类。
这是使用@ImportAutoConfiguration
的Spring Boot应用程序主方法的示例:
@ComponentScan("path.to.your.controllers")
@ImportAutoConfiguration({WebMvcAutoConfiguration.class
, DispatcherServletAutoConfiguration.class
, EmbeddedServletContainerAutoConfiguration.class
, ServerPropertiesAutoConfiguration.class
, HttpMessageConvertersAutoConfiguration.class})
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
您可能会说它是使用@EnableAutoConfiguration
的替代方法。在这种情况下配置裸机嵌入式Tomcat和Spring WebMVC。
<小时/>
@Import
用于导入标有@Configuration
的bean配置类,其中包含您的自定义bean配置。