SSM 升级使用 JFinal 特性(案例实践)

近日接手了一个Struts + Spring + Mybatis 的项目后来又加入Spring Mvc,试着在原有的框架上开发了几个功能之后,实在无法忍受其开发效率,决定升级为SoJpt Boot 使用 JFinal特性进行开发。因此有了以下的升级过程。

思路: 升级为Spring boot 加入SoJpt Boot,改成maven 项目即可(这里使用了SoJpt Boot脚手架一步搞定)。

1. 根据自己的项目是否为前后台分离下载对应的SoJpt Boot 脚手架, 这里我下载了SoJpt-Boot-Staging-mysql-v1.2  然后根据http://sojpt.com/doc/5-1 教程新建项目。

2. 把原项目的代码全部拷入新建的项目。如有问题可参考spring mvc 迁移至spring boot 的相关解决方案。 这里为了简单直接引入之前spring 的配置文件applicationContext.xml (这里使用了打war包的方式,也修改了pom.xml中的bulid)

@SpringBootApplication
@ImportResource("classpath:applicationContext.xml")
public class SoJptSpringbootApplication extends SpringBootServletInitializer {
    public static void main(String[] args) {
      SpringApplication.run(SoJptSpringbootApplication.class, args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
      return application.sources(SoJptSpringbootApplication.class);
    }
}

3.删除 applicationContext.xml中的有关数据源与事务的配置。这些以spring Boot 的方式来配置。

4.因为之前项目不是maven项目,所以这里把相关的jar 包找到其对应的maven依赖引入即可。

5.将之前web.xml配置以注解的方式进行配置,下面给出一个过滤器的配置案例:

    @Bean    public FilterRegistrationBean<StrutsPrepareAndExecuteFilter> struts2() {
        FilterRegistrationBean<StrutsPrepareAndExecuteFilter> registration = new FilterRegistrationBean<>();
        registration.setFilter(new StrutsPrepareAndExecuteFilter());
        registration.setName("struts2");
        registration.addUrlPatterns("/*");
        registration.setOrder(3);  //值越小,Filter越靠前。
        return registration;
    }

到这里所有的主要的配置就结束了。

备注: 其他根据Spring Boot, SoJpt Boot 与 JFinal的文档配置对应的数据源。热加载报错的话,可参考Spring Boot devtools的解决方法,在META-INF/spring-devtools.properties 下加入需要热加载的jar即可,如下:

restart.include.sojpt.boot=/sojpt-boot-2.5.8-4.3.jar
restart.include.sojpt.boot.stater=/sojpt-boot-spring-boot-starter-2.5.8-4.3.jar
restart.include.jrobin=/jrobin-1.5.9.jar
restart.include.javamelody=/javamelody-core-1.79.0.jar
restart.include.javamelody.stater=/javamelody-spring-boot-starter-1.79.0.jar
restart.include.spring.tx =/spring-tx-5.1.9.RELEASE.jar



评论区

JFinal

2019-09-24 12:00

切换过程不算麻烦,赞

l745230

2019-09-24 14:21

最近也是同接坑ssm+h 的非maven项目. 填坑过程欲仙欲死. 而且即将进入终验阶段了.只能照猫画虎写代码,难受的要死.

Sohnny

2019-09-24 14:38

@l745230 哈哈,见过阳光的忍受不了黑暗。

Sohnny

2019-09-24 14:40

@JFinal 恩,差不多半天就搞定了。

JFinal

2019-09-24 19:52

@Sohnny 见过阳光的忍受不了黑暗,赞

热门分享

扫码入社