當前位置:
首頁 > 最新 > Spring Boot入門:第一個Spring Boot程序

Spring Boot入門:第一個Spring Boot程序

相信使用過Spring MVC框架的小夥伴,都感受過其繁瑣的配置。過於細分的配置和與Servlet API的強耦合,使得無論開發還是部署都會費時費力,且容易出現問題。在此基礎上,Spring Boot應運而生。

使用Spring Boot可以讓我們快速創建一個基於Spring框架的項目,而這個項目,只需要極少的配置。


Spring Boot核心功能

Spring Boot主要有以下核心功能:

1、獨立運行的Spring項目

Spring Boot可以以jar包的形式獨立運行,使用:java -jar xxx.jar就可成功運行Spring Boot項目。

2、內嵌Servlet容器

Spring Boot內嵌Tomcat容器,無需使用war包的方式部署項目,可以通過執行項目的main函數,讓項目快速運行。

3、提供starter簡化Manen配置

Spring Boot提供了一系列的starter pom用來簡化我們的Maven依賴

4、自動配置Spring

Spring Boot會根據我們項目中的jar包依賴,對項目進行自動配置。當然,這只是Spring考慮到的大多數使用場景,在一些特殊情況,還需要我們進行手動配置。

5、准生產的應用監控

Spring Boot提供了基於http、ssh、telnet對運行時的項目進行監控。

6、絕對沒有代碼生成並且對XML也沒有配置要求

Spring Boot實現了自動配置,降低了項目搭建複雜度,包含一整套快速開發包。

如果這裡沒有搞明白上述核心功能描述的意思,不妨先往下看,等看完整篇文章再回來思索核心功能。


第一個Spring Boot程序

以IntelliJ IDEA為例。CreateNew Project,選擇Spring Initializr,Next。

填寫項目信息。

選擇項目使用到的技術,這裡Spring Boot版本建議選擇最新的穩定版,然後下面找到Web勾選上即可。

最後一步,填寫項目名和路徑,Finish。

第一次創建Spring Boot項目時,系統會下載一些需要的依賴等,耗時較長,下載成功後等以後再新建項目時會很快創建好。


項目結構解析

項目創建成功之後,我們先來看下項目結構。

首先在項目創建完成之後,會自動創建一個類,命名規則是ProjectName+Application,比如我們這個項目的SpringBootDemoApplication,這就是SpringBoot項目的入口類。我們打開類之後會發現,類中有個@SpringBootApplication註解,這是整個Spring Boot的核心註解,作用是開啟Spring Boot的自動配置。類中還有一個main方法,這是標準的Java應用程序的入口方法。

我們新建一個類,類結構如圖所示。注意,在Spring Boot項目中,只有入口類(即SpringBootDemoApplication)所在的包及其子包中的類,才會被自動配置。

新建的類加上@RestController註解,使之成為一個Controller,然後在其內提供地址轉換方法。

@RestController

public classGatewayController {

@RequestMapping(value="/gateway")

publicStringgateway() {

return"HelloWorld";

}

}

啟動項目

啟動成功後就可在瀏覽器中直接訪問。

至此,一個簡單的Spring Boot項目就創建成功,並且能夠成功訪問。

項目分析

下面,我們來仔細分析下項目。

1、入口類SpringBootDemoApplication.java

回到入口類SpringBootDemoApplication,剛才說了,項目創建完成之後,會自動創建一個命名規則是ProjectName+Application的類,類中有個@SpringBootApplication註解和一個main方法,main方法是一個標準的Java應用程序的入口方法,而@SpringBootApplication註解作用是開啟Spring Boot的自動配置。我們進入到@SpringBootApplication註解的源碼,可以看到他是一個組合註解,組合了@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan等。

@SpringBootConfiguration註解就是@Configuration註解,表示該類是一個配置類;

@EnableAutoConfiguration註解作用是讓Spring Boot根據jar包依賴為當前項目進行自動配置。比如,如果spring-boot-starter-web已經添加了Tomcat和Spring MVC,這個註解會自動假設正在開發一個Web應用程序並添加相應的Spring設置;

@ComponentScan註解的作用是告訴Spring自動掃描並且裝入bean容器。

剛才我們就提醒過,使用@SpringBootApplication註解進行自動配置,系統會去入口類的同級包以及子級包中去掃描實體類。

@Target()

@Retention(RetentionPolicy.RUNTIME)

@Documented

@Inherited

@SpringBootConfiguration

@EnableAutoConfiguration

@ComponentScan(

excludeFilters = {@Filter(

type = FilterType.CUSTOM,

classes =

),@Filter(

type = FilterType.CUSTOM,

classes =

)}

)

public@interfaceSpringBootApplication {

}

2、配置文件application.properties

Spring Boot使用一個全局的配置文件application.properties或者application.yml,放在src/main/resources目錄下。Spring Boot不僅支持常見的properties類型的配置文件,也支持yaml語言的配置文件。

修改Tomcat默認埠號和默認訪問路徑

Tomcat默認埠號是8080,默認訪問路徑是http://localhost:8080,這裡我們將埠號改為8090,訪問路徑改為http://localhost:8090/springbootdemo。

在application.properties文件中添加如下代碼:

重啟項目,瀏覽器訪問

GitHub:https://github.com/dkbnull/SpringBootDemo

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 文彬 的精彩文章:

TAG:文彬 |