SSM 升級使用 JFinal 特性(案例實踐)

近日接手了一個Struts + Spring + Mybatis 的項目後來又加入Spring Mvc,試着在原有的框架上開發了幾個功能以後,實在沒法忍受其開發效率,決定升級爲SoJpt Boot 使用 JFinal特性進行開發。所以有了如下的升級過程。java

思路: 升級爲Spring boot 加入SoJpt Boot,改爲maven 項目便可(這裏使用了SoJpt Boot腳手架一步搞定)。mysql

1. 根據本身的項目是否爲先後臺分離下載對應的SoJpt Boot 腳手架, 這裏我下載了SoJpt-Boot-Staging-mysql-v1.2  而後根據http://sojpt.com/doc/5-1 教程新建項目。web

2. 把原項目的代碼所有拷入新建的項目。若有問題可參考spring mvc 遷移至spring boot 的相關解決方案。 這裏爲了簡單直接引入以前spring 的配置文件applicationContext.xml (這裏使用了打war包的方式,也修改了pom.xml中的bulid)spring

@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 的方式來配置。sql

4.由於以前項目不是maven項目,因此這裏把相關的jar 包找到其對應的maven依賴引入便可。mvc

5.將以前web.xml配置以註解的方式進行配置,下面給出一個過濾器的配置案例:app

    @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便可,以下:maven

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
相關文章
相關標籤/搜索