没有@SpringBootApplication的spring-boot

时间:2015-10-22 21:01:50

标签: spring spring-boot

我正在尝试将spring,non-boot应用程序迁移到启动应用程序。当前的一个构建一个war文件。遵循these说明,我正在完成迁移步骤。

我发现@SpringBootApplication注释强迫很多事情失败。例如,当我确实需要现有的xml安全配置保持不变时,它会尝试自动配置安全性。我发现我可以覆盖@EnableAutoConfiguration并排除配置类(.i.e.SecurityAutoConfiguration.class)。但我发现它对我已经在我的类路径上的项目做了很多。我决定最好删除@SpringBootApplication并将其替换为@Configuration,@ ComponentScan和@ImportResource以加载我的原始上下文xml。该类扩展了SpringBootServletInitializer,以便我可以注册我的自定义servlet和过滤器。

我发现,它现在不再知道加载application.yml或bootstrap.yml。是什么触发了这些文件的自动配置?我是否会回退加载传统的属性占位符配置器?我希望避免这种情况,因为下一步是将其连接到spring cloud config以集中管理应用程序配置。

1 个答案:

答案 0 :(得分:10)

@SpringBootApplication@Configuration@EnableAutoConfiguration@ComponentScan的替代方案。

您可能希望使用@Configuration + @ComponentScan。如果需要加载xml配置,可以使用:@ImportResource注释。

如果您想使用自动配置,但您可以禁用一些自动配置,例如: @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

详细说明: