從Spring遷移到Spring Boot的方法步驟
從Spring遷移到Spring Boot
Spring Boot給我們的開發(fā)提供了一系列的便利,所以我們可能會(huì)希望將老的Spring 項(xiàng)目轉(zhuǎn)換為新的Spring Boot項(xiàng)目,本篇文章將會(huì)探討如何操作。
請(qǐng)注意,Spring Boot并不是取代Spring,它只是添加了一些自動(dòng)配置的東西,從而讓Spring程序更快更好
添加Spring Boot starters
要想添加Spring Boot,最簡(jiǎn)單的辦法就是添加Spring Boot Starters。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
添加應(yīng)用程序入口
每一個(gè)Spring Boot程序都需要一個(gè)應(yīng)用程序入口,通常是一個(gè)使用@SpringBootApplication注解的main程序:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@SpringBootApplication注解是下列注解的組合:
@Configuration ,@EnableAutoConfiguration,@ComponentScan 。
默認(rèn)情況下@SpringBootApplication會(huì)掃描本package和子package的所有類。所以一般來說SpringBootApplication會(huì)放在頂層包下面。
Import Configuration和Components
Spring Boot通常使用自動(dòng)配置,但是我們也可以手動(dòng)Import現(xiàn)有的java配置或者xml配置。
對(duì)于現(xiàn)有的配置,我們有兩個(gè)選項(xiàng),一是將這些配置移動(dòng)到主Application同一級(jí)包或者子包下面,方便自動(dòng)掃描。
二是顯式導(dǎo)入。
我們看一下怎么顯示導(dǎo)入:
@SpringBootApplication
@ComponentScan(basePackages="com.flydean.config")
@Import(UserRepository.class)
public class Application {
//...
}
如果是xml文件,你也可以這樣使用@ImportResource導(dǎo)入:
@SpringBootApplication
@ImportResource("applicationContext.xml")
public class Application {
//...
}
遷移應(yīng)用程序資源
默認(rèn)情況下Spring Boot 會(huì)查找如下的資源地址:
/resources /public /static /META-INF/resources
想要遷移的話 我們可以遷移現(xiàn)有資源到上訴的資源地址,也可以使用下面的方法:
spring.resources.static-locations=classpath:/images/,classpath:/jsp/
遷移應(yīng)用程序?qū)傩晕募?/strong>
Spring Boot 會(huì)在如下的地方查找application.properties或者application.yml 文件:
* 當(dāng)前目錄 * 當(dāng)前目錄的/config子目錄 * 在classpath中的/config目錄 * classpath root
我們可以將屬性文件移動(dòng)到上面提到的路徑下面。
遷移Spring Web程序
如果要遷移Spring Web程序,我們需要如下幾步:
添加spring-boot-starter-web依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
通過Spring Boot的自動(dòng)配置,會(huì)自動(dòng)檢測(cè)classpath中的依賴包,從而自動(dòng)開啟@EnableWebMvc,同時(shí)創(chuàng)建一個(gè)DispatcherServlet。
如果我們?cè)贎Configuration類中使用了@EnableWebMvc注解,則自動(dòng)配置會(huì)失效。
該自動(dòng)配置同時(shí)自動(dòng)配置了如下3個(gè)bean:
- HttpMessageConverter用來轉(zhuǎn)換JSON 和 XML。
- /error mapping用來處理所有的錯(cuò)誤
- /static, /public, /resources 或者 /META-INF/resources的靜態(tài)資源支持。
配置View模板
對(duì)于web頁面,通常不再推薦JSP,而是使用各種模板技術(shù)來替換:Thymeleaf, Groovy, FreeMarker, Mustache。 我們要做的就是添加如下依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
template文件在/resources/templates下面。
如果我們?nèi)匀恍枰怯肑SP,則需要顯示配置如下:
spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理
這篇文章主要介紹了Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
避免sql注入_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了避免sql注入,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
SpringBoot集成MyBatis的分頁插件PageHelper實(shí)例代碼
這篇文章主要介紹了SpringBoot集成MyBatis的分頁插件PageHelper的相關(guān)操作,需要的朋友可以參考下2017-08-08
基于 SpringBoot 實(shí)現(xiàn) MySQL 讀寫分離的問題
這篇文章主要介紹了基于 SpringBoot 實(shí)現(xiàn) MySQL 讀寫分離的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
Java+MyBatis+MySQL開發(fā)環(huán)境搭建流程詳解
Java的MyBatis框架提供了強(qiáng)大的數(shù)據(jù)庫操作支持,這里我們先在本地的開發(fā)環(huán)境中上手,來看一下Java+MyBatis+MySQL開發(fā)環(huán)境搭建流程詳2016-06-06
詳解SpringBoot restful api的單元測(cè)試
本篇文章主要介紹了詳解SpringBoot restful api的單元測(cè)試,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09

