将现有的spring应用程序迁移到spring-boot,手动配置spring-boot?

bit*_*nfo 35 spring spring-boot

我有一个现有的弹簧3.1.4应用程序工作正常,并自行启动.我目前在我自己的主类中手动启动spring上下文.这不是一个spring-mvc应用程序,它不包含任何servlet,web.xml也不会生成WAR.它只为集成后端生成JAR.

我想"包装"这个遗留应用程序并使用spring-boot启动它.但是我无法弄清楚如何执行此操作,因为所有示例似乎都假设创建一个"新"应用程序.

1)我有我现有的applicationContext.xml文件,其中包含我现有的spring app bean声明

2)我需要添加到现有的Spring applicationContext.xml文件中的最小新bean配置集是什么,以便启动spring-boot w/tomcat并将所有现有bean加载到spring-boot包装的上下文中?

有人能指出我正确的方向吗?

hzp*_*zpz 39

在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);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这也将触发Spring Boot的自动配置(基于其他内容)可用类和配置的bean.您可能想要禁用某些自动配置.要排除DataSource和Hibernate JPA自动配置,请使用:

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
Run Code Online (Sandbox Code Playgroud)

  • 答案是:@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class}) (2认同)