Spring專案改成SpringBoot專案
阿新 • • 發佈:2019-01-31
最近到公司實習,被安排了一個活是將一個spring的html5專案改成springboot專案做二次開發,orm用的mybatis,頁面Jsp。由於對專案的不熟悉導致產生了很多bug,最後在學長的幫助下終於完成了任務,簡單介紹一下我的修改過程。
一、新建一個springboot專案
二、將原來專案的程式碼都搬進來
三、在pom中新增依賴,可以從原pom檔案複製過來,將裡面與spring相關的依賴刪掉(例如下圖中的依賴)
四、在resources的application.properties檔案中新增資料庫配置和專案訪問路徑
五、由於檢視使用jsp,在src/main下新建webapp資料夾將原專案的檢視複製到該資料夾下
六、將原專案和xml配置檔案轉成註解配置,包括SessionFactory配置、PO物件別名配置(如果有的話)、內部資源檢視解析器(頁面訪問路徑)配置等,以下程式碼可放到啟動類或其他類中
@Bean(name = "viewResolver")//檢視路徑配置
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver view = new InternalResourceViewResolver();
view.setPrefix("/WEB-INF/webpage/" );//放頁面的路徑
view.setSuffix("");
view.setViewClass(JstlView.class);
view.setContentType("text/html");
return view;
}
@Bean(name = "xxxDataSource")//資料來源配置
@ConfigurationProperties(prefix = "spring.datasource.xxx")//xxx要和server.context-path配置的名稱一樣
@Primary
public DataSource testDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "xxxSqlSessionFactory")//SqlSessionFactory配置
@Primary
public SqlSessionFactory testSqlSessionFactory(@Qualifier("xxxDataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
bean.setConfigLocation(new PathMatchingResourcePatternResolver().getResource("classpath:sqlMapConfig.xml"));//po物件別名的xml檔案
bean.setMapperLocations(
new PathMatchingResourcePatternResolver().getResources("classpath:com/xx/xx/mapper/*.xml"));//mapper的xml檔案
return bean.getObject();
}
七、在啟動類上新增必要的註解,需要根據專案的具體業務需求,比如我們的專案原有定時排程任務,一開始不知道沒有新增@EnableScheduling註解,導致專案出問題找了好久才解決
完事了