我有一个现有的spring 3.1.4应用程序,可以正常运行并可以正常启动。我目前在自己的主类中手动启动spring上下文。这不是spring- mvc应用程序,它不包含任何servlet,web.xml或生成WAR。它只是为集成后端生成一个JAR。
我想“包装”这个遗留应用程序并通过spring-boot启动它。但是,由于所有示例似乎都假设创建了一个“新”应用程序,因此我很难弄清楚该如何做。
1)我有我现有的applicationContext.xml文件,其中有我现有的spring app bean声明
2)为了启动带有tomcat的spring-boot并将我所有的现有bean加载到spring-boot包装的上下文中,我需要添加到现有的Spring applicationContext.xml文件中的新bean配置的最小集合是什么?
有人能指出我正确的方向吗?
Spring Boot参考指南中有一章致力于将现有应用程序转换为Spring Boot。
基本上,您需要添加Spring Boot依赖项,然后像这样实现主入口点:
@SpringBootApplication @ImportResource("classpath:applicationContext.xml") public class MySpringBootApplication { public static void main(String[] args) { SpringApplication.run(MySpringBootApplication.class, args); } }
但是,这还将基于其他可用类和已配置的bean触发Spring Boot的自动配置。您可能要禁用某些自动配置。要排除DataSource和Hibernate JPA自动配置,请使用:
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })