摘要:接下來我們繼續(xù)看如果達(dá)成包,在加入如下配置然后通過打包,最后通過命令啟動(dòng)這樣,最簡(jiǎn)單的就完成了,但是對(duì)于一個(gè)大型項(xiàng)目,這是遠(yuǎn)遠(yuǎn)不夠的,的詳細(xì)操作可以參照官網(wǎng)。以上實(shí)例只是最簡(jiǎn)單的項(xiàng)目入門實(shí)例,后面會(huì)深入研究。
什么是Spring Boot
Spring Boot是由Pivotal團(tuán)隊(duì)提供的基于Spring的全新框架,其設(shè)計(jì)目的是為了簡(jiǎn)化Spring應(yīng)用的搭建和開發(fā)過程。該框架遵循“約定大于配置”原則,采用特定的方式進(jìn)行配置,從而使開發(fā)者無(wú)需定義大量的XML配置。通過這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域成為領(lǐng)導(dǎo)者。
Spring Boot并不重復(fù)造輪子,而且在原有Spring的框架基礎(chǔ)上封裝了一層,并且它集成了一些類庫(kù),用于簡(jiǎn)化開發(fā)。換句話說,Spring Boot就是一個(gè)大容器。
幾張下面展示圖產(chǎn)品了官網(wǎng)上提供的彈簧引導(dǎo)所集成的所有類庫(kù):
Spring Boot官方推薦使用Maven或Gradle來構(gòu)建項(xiàng)目,本教程采用Maven。
第一個(gè)Spring Boot項(xiàng)目
大多數(shù)教程都是以Hello World入門,本教程也不例外,接下來,我們就來搭建一個(gè)最簡(jiǎn)單的Spring Boot項(xiàng)目。
首先創(chuàng)建一個(gè)Maven工程,請(qǐng)看下圖:
這里寫圖片描述
然后在pom.xml加入Spring Boot依賴:
org.springframework.boot spring-boot-starter-parent 2.0.1.RELEASE org.springframework.boot spring-boot-starter-web
創(chuàng)建一個(gè)Controller類HelloController:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @SpringBootApplication public class HelloController { @RequestMapping("hello") String hello() { return "Hello World!"; } public static void main(String[] args) { SpringApplication.run(HelloController.class, args); } }
運(yùn)行主方法,Spring Boot默認(rèn)會(huì)啟動(dòng)自帶的Tomcat容器,啟動(dòng)成功后,瀏覽器訪問:http:// localhost:8080 / hello,則會(huì)看到下圖:
這里寫圖片描述
我們可以注意到,沒有寫任何的配置文件,更沒有顯示的使用任何容器,它是如何啟動(dòng)程序的呢,具體原理我將在第3課中具體分析。
這里我們可以初步分析出,Spring Boot提供了默認(rèn)的配置,在啟動(dòng)類里加入@SpringBootApplication注解,則這個(gè)類就是整個(gè)應(yīng)用程序的啟動(dòng)類。
屬性和yaml
Spring Boot整個(gè)應(yīng)用程序只有一個(gè)配置文件,那就是.properties或.yml文件。但是,在前面的示例代碼中,我們并沒有看到該配置文件,那是因?yàn)镾pring Boot對(duì)每個(gè)配置項(xiàng)都有默認(rèn)值。當(dāng)然,我們也可以添加配置文件,用以覆蓋其默認(rèn)值,這里以.properties文件為例,首先在資源下新建一個(gè)名為application.properties(注意:文件名必須是應(yīng)用)的文件,鍵入內(nèi)容為:
server.port=8081 server.servlet.context-path=/api
并且啟動(dòng)main方法,這時(shí)程序請(qǐng)求地址則變成了:http:// localhost:8081 / api / hello。
Spring Boot支持屬性和yaml兩種格式的文件,文件名分別對(duì)應(yīng)application.properties和application.yml,下面貼出yaml文件格式供大家參考:
server: port: 8080 servlet: context-path: /api
可以看出屬性是以逗號(hào)隔開,而yaml則換行+ tab隔開,這里需要注意的是冒號(hào)后面必須空格,否則會(huì)報(bào)錯(cuò).yaml文件格式更清晰,更易讀,這里作者建議大家都采用yaml文件來配置。
本教程的所有配置均采用yaml文件。
打包,運(yùn)行
Spring Boot打包分為war和jar兩個(gè)格式,下面將分別演示如何構(gòu)建這兩種格式的啟動(dòng)包。
在pom.xml加入如下配置:
war index src/main/resources true org.springframework.boot spring-boot-maven-plugin maven-resources-plugin 2.5 UTF-8 org.apache.maven.plugins maven-surefire-plugin 2.18.1 true
這個(gè)時(shí)候運(yùn)行mvn包就會(huì)生成war包,然后放到Tomcat當(dāng)中就能啟動(dòng),但是我們單純這樣配置在Tomcat是不能成功運(yùn)行的,會(huì)報(bào)錯(cuò),需要通過編碼指定Tomcat容器啟動(dòng),修改HelloController類:
@RestController @SpringBootApplication public class HelloController extends SpringBootServletInitializer{ @RequestMapping("hello") String hello() { return "Hello World!"; } public static void main(String[] args) { SpringApplication.run(HelloController.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } }
這時(shí)再打包放到Tomcat,啟動(dòng)就不會(huì)報(bào)錯(cuò)了。
接下來我們繼續(xù)看如果達(dá)成jar包,在pom.xml加入如下配置:
jar api src/main/resources true org.springframework.boot spring-boot-maven-plugin true com.lynn.yiyi.Application repackage maven-resources-plugin 2.5 UTF-8 true org.apache.maven.plugins maven-surefire-plugin 2.18.1 true org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.8
然后通過mvn package打包,最后通過java命令啟動(dòng):
java -jar api.jar
這樣,最簡(jiǎn)單的Spring Boot就完成了,但是對(duì)于一個(gè)大型項(xiàng)目,這是遠(yuǎn)遠(yuǎn)不夠的,Spring Boot的詳細(xì)操作可以參照官網(wǎng)。
下面展示一個(gè)最基礎(chǔ)的企業(yè)級(jí)Spring Boot項(xiàng)目的結(jié)構(gòu):
其中,Application.java是程序的啟動(dòng)類,Startup.java是程序啟動(dòng)完成前執(zhí)行的類,WebConfig.java是配置類,所有bean注入,配置,攔截器注入等都放在這個(gè)類里面。
以上實(shí)例只是最簡(jiǎn)單的Spring Boot項(xiàng)目入門實(shí)例,后面會(huì)深入研究Spring Boot。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/76637.html
摘要:在創(chuàng)建好的空的中創(chuàng)建新的。其實(shí)到目前為止,正常情況下我們?nèi)腴T已經(jīng)搭建好了,只需執(zhí)行的入口就可以。例如使用類似上面的包結(jié)構(gòu)。代碼如下重新運(yùn)行一下程序,網(wǎng)址訪問后就會(huì)看到信息了。 記錄工作學(xué)習(xí)點(diǎn)點(diǎn)滴滴,希望對(duì)大家有幫助 問題描述 之前使用windows的idea環(huán)境自動(dòng)搭建springboot并沒有出現(xiàn)問題,所以覺得很簡(jiǎn)單,轉(zhuǎn)移的mac ox平臺(tái)想著自己也搭建一下springboot的微服...
摘要:基礎(chǔ)入門篇簡(jiǎn)介可以基于輕松創(chuàng)建可以運(yùn)行的獨(dú)立的生產(chǎn)級(jí)的應(yīng)用程序。對(duì)平臺(tái)和第三方類庫(kù)我們有自己看法和意見約定大于配置。官網(wǎng)目前最新版本是我們接下來就在這個(gè)版本的基礎(chǔ)上面進(jìn)行學(xué)習(xí)。變成項(xiàng)目引入依賴。 SpringBoot基礎(chǔ)入門篇 簡(jiǎn)介 Spring Boot可以基于Spring輕松創(chuàng)建可以運(yùn)行的、獨(dú)立的、生產(chǎn)級(jí)的應(yīng)用程序。 對(duì)Spring平臺(tái)和第三方類庫(kù)我們有自己看法和意見(約定大于配置...
摘要:創(chuàng)建項(xiàng)目創(chuàng)建一個(gè)項(xiàng)目選擇填寫,這兩個(gè)可以組合成,一般是項(xiàng)目域名倒置,是項(xiàng)目名,然后由這兩個(gè)組合成主包名。等待初次導(dǎo)包結(jié)束查看創(chuàng)建一個(gè)最簡(jiǎn)單的服務(wù)并測(cè)試添加一個(gè)打開,并點(diǎn)擊運(yùn)行使用自帶服務(wù)自帶測(cè)試,或者其他任意工具,看到返回就成功了 0x001 創(chuàng)建項(xiàng)目 創(chuàng)建一個(gè)項(xiàng)目showImg(https://segmentfault.com/img/bVbeaIU?w=777&h=482); ...
摘要:作者譚淼一運(yùn)行原理的運(yùn)行是由注解提供的。完成自動(dòng)配置類。自動(dòng)配置類主要作用是的配置核心,它會(huì)寫在中,告知在啟動(dòng)時(shí)去讀取該類并根據(jù)該類的規(guī)則進(jìn)行配置。會(huì)檢測(cè)是否存在類類會(huì)查看是否開啟該自動(dòng)配置。 作者:譚淼 一、運(yùn)行原理 Spring Boot的運(yùn)行是由注解@EnableAutoConfiguration提供的。 @Target({ElementType.TYPE}) @Retentio...
閱讀 2293·2021-11-25 09:43
閱讀 3446·2021-10-25 09:48
閱讀 1321·2021-09-13 10:24
閱讀 2735·2019-08-29 15:07
閱讀 1258·2019-08-29 13:14
閱讀 3265·2019-08-29 12:22
閱讀 1354·2019-08-29 11:32
閱讀 3229·2019-08-29 11:23