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

将现有的spring应用程序迁移到spring boot,手动配置spring boot?,spring,spring-boot,Spring,Spring Boot,我有一个现有的Spring3.1.4应用程序,它运行良好,可以自行启动。目前,我在自己的一个主类中手动启动spring上下文。这不是SpringMVC应用程序,它不包含任何servlet、web.xml,也不生成WAR。它只是为集成后端生成一个JAR 我想“包装”这个遗留应用程序,并用SpringBoot启动它。然而,由于所有示例似乎都假设创建一个“新”应用程序,因此我很难弄清楚如何做到这一点 1) 我有我现有的applicationContext.xml文件,其中包含我现有的spring应用程

我有一个现有的Spring3.1.4应用程序,它运行良好,可以自行启动。目前,我在自己的一个主类中手动启动spring上下文。这不是SpringMVC应用程序,它不包含任何servlet、web.xml,也不生成WAR。它只是为集成后端生成一个JAR

我想“包装”这个遗留应用程序,并用SpringBoot启动它。然而,由于所有示例似乎都假设创建一个“新”应用程序,因此我很难弄清楚如何做到这一点

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

2) 为了启动Spring boot w/tomcat并将所有现有bean加载到Spring boot包装的上下文中,我需要添加到现有Spring applicationContext.xml文件中的最少一组新bean配置是什么


谁能给我指一下正确的方向吗

Spring Boot参考指南中有一章专门介绍

基本上,您需要添加Spring引导依赖项,然后实现如下主要入口点:

@SpringBootApplication
@ImportResource("classpath:applicationContext.xml")
public class MySpringBootApplication {
    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApplication.class, args);
    }
}

然而,这也将触发SpringBoot基于(除其他外)可用类和已配置bean的自动配置。你可能想。要排除数据源和Hibernate JPA自动配置,请使用:

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })

使用starter web依赖项(这让我抓狂),因为它需要一些我不需要的数据源,会出现类似“无法为数据库类型NONE确定嵌入式数据库驱动程序类”的错误我想要一个正确配置的Tomcat embedded并连接到WSSpringServlet,这样我就可以注册一些定制的SOAP服务。除了我在现有spring上下文源中配置的数据库之外,我完全不需要数据库,我正在添加到应用程序中,如文档中所述。spring Boot的自动配置检查(除其他外)可用的类和配置的bean。您可能有一个(使用过的)依赖项或一个(配置错误的)bean,它会触发一些需要数据源的自动配置。有关自动配置类的更多详细信息,请参阅.Exclude the
tomcat jdbc
包。答案是:@SpringBootApplication(Exclude={DataSourceAutoConfiguration.class,hibernatejpaaautoconfiguration.class}),如果它不是web应用程序,那么为什么要将Spring引导与tomcat一起使用呢?只是不要使用web依赖项,让spring boot为您创建上下文。SpringBoot不需要是基于web的应用程序。您也可以将其用于命令行应用程序。