如何从传统的Java Web应用程序(带有web.xml)迁移到Spring Boot?

如何从传统的Java Web应用程序(带有web.xml)迁移到Spring Boot?,第1张

如何从传统的Java Web应用程序(带有web.xml)迁移到Spring Boot?

据我所知,该应用程序不是Spring MVC应用程序-
如果可以的话,迁移起来可能会容易得多。(根据github问题)的目标是获取可执行的JAR。不过,基本计划可能是先使用Spring
Boot迁移到WAR,然后在可行时迁移到JAR。这是一个非常简单的应用程序,因此我们真正需要做的就是查看

web.xml
并将其转换为相关的Spring
Boot功能。以下是一些一般指南:

通过扩展

SpringBootServletInitializer
(例如,在名为的类中
Application
)创建可部署的WAR ,并添加Spring
Boot
@EnableAutoConfiguration
批注。例:

    @Configuration    @EnableAutoConfiguration    @ComponentScan    public class Application extends SpringBootServletInitializer {        @Override        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class);        }

然后添加一些配置:

  • @Bean
    类型为A
    Servlet
    ServletRegistrationBean
    将那个bean安装在容器中,就像它是
    <servlet/>
    and
    <servlet-mapping/>
    in
    web.xml

  • @Bean
    型的
    Filter
    FilterRegistrationBean
    表现得类似(如
    <filter/>
    <filter-mapping/>
    )。

  • ApplicationContext
    这种情况下根植于一个XML文件,所以最简单的第一步是
    @import
    该到了Spring
    Application
    。这一步骤非常简单,可以在几行中将其重新
    @Bean
    定义。

  • 可以将静态资源移至类路径根目录中

    /public
    (或
    /static
    /resources
    /meta-INFO/resources

一旦WAR工作了,我们可以通过添加一个

main
方法使其成为可执行文件
Application
,例如

public static void main(String[] args) {    SpringApplication.run(Application.class, args);}

另请参阅有关将JAR转换为WAR的入门指南。

正如我所说,此特定应用程序的最大问题是它不是Spring MVC应用程序。正如爱尔兰人可能会说:“先生,如果我想去那里,我不会从这里开始。”
总的来说,这是一个有趣的问题,但是我建议其他希望将Spring应用程序迁移到Spring
Boot的人阅读这里的一般建议,但也许可以在其他地方开始另一个讨论。

无论如何,我会在转换此特定应用程序时大吃一惊(源代码罐会很好),如果我学到新知识,就会更新此响应。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5621712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存