從Spring遷移到Spring Boot的方法步驟
從Spring遷移到Spring Boot
Spring Boot給我們的開發(fā)提供了一系列的便利,所以我們可能會希望將老的Spring 項目轉(zhuǎn)換為新的Spring Boot項目,本篇文章將會探討如何操作。
請注意,Spring Boot并不是取代Spring,它只是添加了一些自動配置的東西,從而讓Spring程序更快更好
添加Spring Boot starters
要想添加Spring Boot,最簡單的辦法就是添加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)用程序入口
每一個Spring Boot程序都需要一個應(yīng)用程序入口,通常是一個使用@SpringBootApplication注解的main程序:
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
@SpringBootApplication注解是下列注解的組合:
@Configuration ,@EnableAutoConfiguration,@ComponentScan 。
默認(rèn)情況下@SpringBootApplication會掃描本package和子package的所有類。所以一般來說SpringBootApplication會放在頂層包下面。
Import Configuration和Components
Spring Boot通常使用自動配置,但是我們也可以手動Import現(xiàn)有的java配置或者xml配置。
對于現(xiàn)有的配置,我們有兩個選項,一是將這些配置移動到主Application同一級包或者子包下面,方便自動掃描。
二是顯式導(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 會查找如下的資源地址:
/resources /public /static /META-INF/resources
想要遷移的話 我們可以遷移現(xiàn)有資源到上訴的資源地址,也可以使用下面的方法:
spring.resources.static-locations=classpath:/images/,classpath:/jsp/
遷移應(yīng)用程序?qū)傩晕募?/strong>
Spring Boot 會在如下的地方查找application.properties或者application.yml 文件:
* 當(dāng)前目錄 * 當(dāng)前目錄的/config子目錄 * 在classpath中的/config目錄 * classpath root
我們可以將屬性文件移動到上面提到的路徑下面。
遷移Spring Web程序
如果要遷移Spring Web程序,我們需要如下幾步:
添加spring-boot-starter-web依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
通過Spring Boot的自動配置,會自動檢測classpath中的依賴包,從而自動開啟@EnableWebMvc,同時創(chuàng)建一個DispatcherServlet。
如果我們在@Configuration類中使用了@EnableWebMvc注解,則自動配置會失效。
該自動配置同時自動配置了如下3個bean:
- HttpMessageConverter用來轉(zhuǎn)換JSON 和 XML。
- /error mapping用來處理所有的錯誤
- /static, /public, /resources 或者 /META-INF/resources的靜態(tài)資源支持。
配置View模板
對于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
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java實現(xiàn)飛機(jī)大戰(zhàn)-連接數(shù)據(jù)庫并把得分寫入數(shù)據(jù)庫
這篇文章給大家分享了Java實現(xiàn)飛機(jī)大戰(zhàn)中連接數(shù)據(jù)庫并把得分寫入數(shù)據(jù)庫的相關(guān)知識點(diǎn)和代碼,有興趣的可以學(xué)習(xí)參考下。2018-07-07JavaWeb詳細(xì)講述Cookie和Session的概念
web開發(fā)階段我們主要是瀏覽器和服務(wù)器之間來進(jìn)行交互。瀏覽器和服務(wù)器之間的交互就像人和人之間進(jìn)行交流一樣,但是對于機(jī)器來說,在一次請求之間只是會攜帶著本次請求的數(shù)據(jù)的,但是可能多次請求之間是會有聯(lián)系的,所以提供了會話機(jī)制2022-06-06如何使用JWT的SpringSecurity實現(xiàn)前后端分離
這篇文章主要介紹了使用JWT的SpringSecurity實現(xiàn)前后端分離,登錄成功需要返回json數(shù)據(jù)登錄失敗需要返回json數(shù)據(jù)權(quán)限不足時返回json數(shù)據(jù)未登錄訪問資源返回json數(shù)據(jù),需要的朋友可以參考下2024-08-08Hibernate懶加載之<class>標(biāo)簽上的lazy
這篇文章主要介紹了Hibernate懶加載之<class>標(biāo)簽上的lazy,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02Spring Boot Admin 進(jìn)行項目監(jiān)控管理的方法
Spring Boot Admin是一個開源社區(qū)項目,用于管理和監(jiān)控SpringBoot應(yīng)用程序。 這篇文章主要介紹了 Spring Boot Admin 進(jìn)行項目監(jiān)控管理的方法,需要的朋友可以參考下2020-07-07