旧有项目迁移到SpringBoot

本文介绍了将旧项目迁移到SpringBoot的过程中遇到的挑战,包括maven依赖升级、XML配置文件的处理以及MyBatis高版本的兼容性问题。针对XML文件中的bean,可以通过将文件放入resource目录并使用@ImportResource导入。对于MyBatis查询异常,通过分析源码发现需要设置`mybatis.configuration.use-actual-param-name=false`,但直接配置无效,原因是XML配置中的configuration对象与SpringBoot中的不同。最终解决方案是在XML中配置bean,实现顺利迁移。
摘要由CSDN通过智能技术生成

最近在做的一个项目因为需要用到JDK1.8的一些组件所以需要对旧项目升级并转化为springboot的web项目分为以下几个步骤

1. maven依赖升级
对于大部分业务代码service和dao层spring是可以做到无缝兼容的,直接升级对面的依赖版本的就可以了
2. xml文件中bean的问题
在spring boot出现之前java web开发一般都是在webapp/WEB-INF下配置一个xml文件在里面定义各种bean和bean的依赖关系,如数据库连接配置信息,数据库连接池bean,mybatis的SqlSessionFactory等bean的依赖关系.
如何轻松复用xml文件中定义的bean呢?很简单
(1)xml文件放在resource目录下
(2)在springboot启动的类上添加注解@ImportResource({“classpath:XMLBeans.xml”"}),就可以轻松将xml中的bean托管到spring中
(3)检查各个配置项是否正确,项目能正常启动运行,如果成功启动,试试你的接口应该就能正常调用了,恭喜
但是还是一个问题没有解决,而且很难发现,只会在运行时期暴露出来,对于部分mybatis查询会报
Parameter '×××' not found. Available parameters are [0, 1, param1, param2]这个异常信息
3. mybatis高版本的兼容性问题
对于低版本的mybatis中极有可能存在通过#{0} #{1}的方式取参数,在spring boot支持的mybatis版本中
是不推荐,也不支持这种写法的,所以就给我们的迁移工作带来了巨大的困难,笔者经过分析源码得到关键点在(3.4.6t版本)的类org.apache.ibatis.reflection.ParamNameResolver#ParamNameResolver的第74行关键代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值