從Spring遷移到Spring Boot

Spring Boot給我們的開發提供了一系列的便利,所以我們可能會希望將老的Spring 項目轉換為新的Spring Boot項目,本篇文章將會探討如何操作。

請注意,Spring Boot並不是取代Spring,它只是添加了一些自動配置的東西,從而讓Spring程序更快更好

添加Spring Boot starters

要想添加Spring Boot,最簡單的辦法就是添加Spring Boot Starters。

<code><parent>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-starter-parent/<artifactid>
<version>2.2.2.RELEASE/<version>
<relativepath>
/<parent>
/<code>

添加應用程序入口

每一個Spring Boot程序都需要一個應用程序入口,通常是一個使用@SpringBootApplication註解的main程序:

<code>@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
/<code>

@SpringBootApplication註解是下列註解的組合:

@Configuration ,@EnableAutoConfiguration,@ComponentScan 。

默認情況下@SpringBootApplication會掃描本package和子package的所有類。所以一般來說SpringBootApplication會放在頂層包下面。

Import Configuration和Components

Spring Boot通常使用自動配置,但是我們也可以手動Import現有的java配置或者xml配置。

對於現有的配置,我們有兩個選項,一是將這些配置移動到主Application同一級包或者子包下面,方便自動掃描。二是顯式導入。

我們看一下怎麼顯示導入:

<code>@SpringBootApplication
@ComponentScan(basePackages="com.flydean.config")
@Import(UserRepository.class)
public class Application {
//...
}
/<code>

如果是xml文件,你也可以這樣使用@ImportResource導入:

<code>@SpringBootApplication
@ImportResource("applicationContext.xml")
public class Application {
//...
}
/<code>

遷移應用程序資源

默認情況下Spring Boot 會查找如下的資源地址:

<code>/resources
/public
/static
/META-INF/resources
/<code>

想要遷移的話 我們可以遷移現有資源到上訴的資源地址,也可以使用下面的方法:

<code>spring.resources.static-locations=classpath:/images/,classpath:/jsp/
/<code>

遷移應用程序屬性文件

Spring Boot 會在如下的地方查找application.properties或者application.yml 文件:

<code>* 當前目錄
* 當前目錄的/config子目錄
* 在classpath中的/config目錄
* classpath root
/<code>

我們可以將屬性文件移動到上面提到的路徑下面。

遷移Spring Web程序

如果要遷移Spring Web程序,我們需要如下幾步:

  1. 添加spring-boot-starter-web依賴:
<code><dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-starter-web/<artifactid>
/<dependency>
/<code>

通過Spring Boot的自動配置,會自動檢測classpath中的依賴包,從而自動開啟@EnableWebMvc,同時創建一個DispatcherServlet。

如果我們在@Configuration類中使用了@EnableWebMvc註解,則自動配置會失效。

該自動配置同時自動配置瞭如下3個bean:* HttpMessageConverter用來轉換JSON 和 XML。* /error mapping用來處理所有的錯誤* /static, /public, /resources 或者 /META-INF/resources的靜態資源支持。

  1. 配置View模板

對於web頁面,通常不再推薦JSP,而是使用各種模板技術來替換:Thymeleaf, Groovy, FreeMarker, Mustache。 我們要做的就是添加如下依賴:

<code><dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-starter-thymeleaf/<artifactid>
/<dependency>
/<code>

template文件在/resources/templates下面。

如果我們仍然需要是用JSP,則需要顯示配置如下:

<code>spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
/<code>

更多內容請訪問:flydean的博客 flydean.com


從Spring遷移到Spring Boot


分享到:


相關文章: