Spring boot 改装Spring应用程序以使用Spring Boot

Spring boot 改装Spring应用程序以使用Spring Boot,spring-boot,Spring Boot,我们希望将Tomcat作为嵌入式web服务器添加到现有的Spring应用程序中 我们的应用程序不是使用SpringBoot构建的,但是我们想看看如何使用Boot配置来添加Tomcat,因为这可能会使过程简单得多 考虑到我们目前没有使用Boot,是否可以使用springboot呢 在任何情况下,改造或重新设计现有应用程序以使用Spring Boot有多困难或可行 谢谢在现有的Spring应用程序中引入Spring引导非常可行,但可能取决于您的Spring版本 我已经应用过几次的成功方法是 将依赖项

我们希望将Tomcat作为嵌入式web服务器添加到现有的Spring应用程序中

我们的应用程序不是使用SpringBoot构建的,但是我们想看看如何使用Boot配置来添加Tomcat,因为这可能会使过程简单得多

考虑到我们目前没有使用Boot,是否可以使用springboot呢

在任何情况下,改造或重新设计现有应用程序以使用Spring Boot有多困难或可行


谢谢

在现有的Spring应用程序中引入Spring引导非常可行,但可能取决于您的Spring版本

我已经应用过几次的成功方法是

  • 将依赖项升级到Spring Boot支持的依赖项
  • 让SpringBootStarter项目管理您的依赖项
  • 创建一个Spring启动类
  • 剥离配置以使用Spring Boot自动配置
  • 升级依赖项 如果您有不同的依赖项,那么在直接升级到Spring Boot时,Spring Boot可能会突然有更新的、不兼容的依赖项。我倾向于一次升级依赖项1,并确保应用程序仍然工作。(有关版本,请参见此)

    您可以一次升级所有内容,但您可能会遇到问题,然后很难找出导致问题的原因

    让Spring引导管理依赖项 升级依赖项之后,您可能希望清理依赖项,并使用
    springbootstarter-*
    项目来管理依赖项。这样他们就遵循了Spring引导版本控制方案,并且您可以确定您拥有正确的版本

    在使用
    pom.xml
    时,您可能还希望将作为父项目使用

    使用SpringBoot引导应用程序 现在,您可能希望使用SpringBoot来引导应用程序,并重用现有的配置类和/或XML配置文件。可以很容易地检测到现有的配置类,您可以使用
    @ImportResource
    包含现有的XML配置文件

    @SpringBootApplication
    @ImportResource("<your-existing-xml-config>")
    public class YourApplication {
    
        public static void main(String[] args) throws Exception {
            SpringApplicationRun(YourApplication.class, args);
        }
    }
    
    @springboot应用程序
    @进口来源(“”)
    公共类应用程序{
    公共静态void main(字符串[]args)引发异常{
    SpringApplicationRun(YourApplication.class,args);
    }
    }
    
    专业提示:将这个类放在你最顶级的软件包中,比如
    com.company。你的应用程序
    ,这样在以后的Spring Boot中可以检测你的服务、控制器等,而不必手动配置组件扫描等

    这将为您提供一个运行良好且功能正常的应用程序,该应用程序仍将使用您自己的配置

    使用Spring引导自动配置
    最后一步是剥离您自己的配置,并在适用的情况下使用Spring Boot自动配置。再次以小迭代/步骤进行此操作。我倾向于一个接一个地做(首先是
    数据源
    ,然后是
    EntityManagerFactory
    等等),这样您就可以逐渐开始使用Spring Boot越来越多的功能

    这是可行的,但可能取决于您使用的Spring版本以及您尝试使用的Spring Boot版本。使用Spring 4.1.0,我们可能需要最新和最好的启动版本。在使用Spring Boot之前,我会开始将Spring升级到最新版本。这同样适用于您使用的其他依赖项,请逐个升级它们,而不是一次全部升级。一般来说,这是一个替代品,但你不想因为一次升级所有东西而遇到奇怪的问题。完成后,使用Spring引导启动器来管理您的依赖关系。如果可行,请将引导重写为Spring引导方式(即主类和/或
    SpringBootServletializer
    ),并加载旧的配置文件(使用
    @Import
    @importResource
    )。