V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tctc4869
V2EX  ›  Java

一个 spring mvc 项目要转成 Spring boot 项目,怎样在保留 Spring 的 xml 配置文件不变的情况下进行转换呢?

  •  
  •   tctc4869 · 2019-11-19 09:06:28 +08:00 · 4395 次点击
    这是一个创建于 1861 天前的主题,其中的信息可能已经有所发展或是发生改变。

    spring boot 有两个特点, 能以少量的配置甚至是零配置启动 不用外配服务端软件,例如 tomcat。spring boot 自带 tomcat 就能启动,并注册成独立的服务程序(主要在乎这个,零配置是其次的)

    那么想要让一个非 maven 的 Spring mvc 项目转成 spring boot 项目,而且要保留 Spring mvc 项目中的 spring 配置文件不变,至少重要的配置 bean 和扫描等功能要保留。甚至是 mybatis 配置文件。该 Spring mvc 项目有多个 spring 配置文件,不过这些 spring 配置文件载入都是从基本的 spring-context.xml 中用 import resource 标签进行导入的。

    这要怎么搞定。我知道可以用 @ImportResource 载入配置文件,但是还要注意什么? web.xml 可以去掉吗,去掉之后用什么代替? Spring mvc 是以 jsp 为模板页面,用 el 表达式作为模板引擎,有些 spring 配置文件存在包扫描功能。而 SpringBoot 自带扫描功能。

    8 条回复    2019-11-23 14:16:11 +08:00
    0NF09LJPS51k57uH
        1
    0NF09LJPS51k57uH  
       2019-11-19 09:22:08 +08:00
    web.xml 可以去掉,重写 SpringBootServletInitializer 的 configure()方法进行 boot。
    spring-context.xml 和 beans 的配置完全可以用 @Configuration 注解和 @Beans 注解进行替代,比 xml 更加清晰。

    找一本《云原生 java 》 来看看吧…
    passerbytiny
        2
    passerbytiny  
       2019-11-19 09:28:32 +08:00
    Spring Boot 不是框架,而是一个启动引导器( bootloader ),其核心引导工具是自动配置。

    不懂就别瞎几把用。
    lululau
        3
    lululau  
       2019-11-19 09:38:57 +08:00 via iPhone
    2 楼正解,根本就不是同一类工具,怎么转。。。
    wccc
        4
    wccc  
       2019-11-19 09:47:59 +08:00
    最尴尬的是 老项目的配置 大家都以为是没问题 ,转成 spring boot 发现有问题.
    love2075904
        5
    love2075904  
       2019-11-19 10:09:54 +08:00
    我最近也有这种想法,后来发现其实不必要。
    751762476
        6
    751762476  
       2019-11-19 13:57:19 +08:00
    2 楼方法是可以的,xml 中对应的语法都有对应的 java 语法。可以这样一步步干掉 xml 配置。最后再把 tomcat 集成进去
    muskill
        7
    muskill  
       2019-11-19 14:00:13 +08:00
    建议你多看看 servlet 相关的知识,看多了就不需要跑来问了
    jack80342
        8
    jack80342  
       2019-11-23 14:16:11 +08:00
    这是我翻译的 Spring Boot Reference Guide 2.0:github.com/jack80342/Spring-Boot-Reference-Guide,你可以看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5486 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:03 · PVG 15:03 · LAX 23:03 · JFK 02:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.