摘要:學(xué)習(xí)日記簡單的小程序配置引入依賴編寫代碼最后通過這兩個(gè)簡單的配置,就可以使用瀏覽器訪問訪問到這個(gè)頁面了分析和主要的作用是告知渲染結(jié)果直接返回給調(diào)用者。數(shù)據(jù)相當(dāng)于就是在中作為路由功能的注解。
SpringBoot學(xué)習(xí)日記 簡單的Hello Word小程序
配置pom引入依賴
org.springframework.boot spring-boot-starter-parent 1.5.9.RELEASE org.springframework.boot spring-boot-starter-web
編寫代碼
import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.web.bind.annotation.*; @RestController @EnableAutoConfiguration public class Example { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(Example.class, args); } }
最后通過這兩個(gè)簡單的配置,就可以使用瀏覽器訪問localhost:8080 訪問到 hello word這個(gè)頁面了
分析
@RestController和@EnableAutoConfiguration、@RequestMapping
@RestController主要的作用是告知Spring渲染結(jié)果直接返回給調(diào)用者。==Json數(shù)據(jù)==
相當(dāng)于
@ Controller @ ResponseBody
@RequestMapping 就是在SpringMVC中作為路由功能的注解。
@EnableAutoConfiguration Spring Boot會通過pom.xml文件的依賴來自動配置,由于Spring-boot-starter-web中配置了Tomcat和SpringMVC,自動配置會配置為Web應(yīng)用。
SpringBoot熱部署:分析pom.xml 依賴的關(guān)系org.springframework.boot spring-boot-maven-plugin org.springframework springloaded 1.2.4.RELEASE repackage exec
依賴于下面: org.springframework.boot spring-boot-starter-parent 1.5.9.RELEASE org.springframework.boot spring-boot-dependencies 1.5.9.RELEASE ../../spring-boot-dependencies
管理SpringBoot所有依賴,==SpringBoot版本仲裁中心==
所以以后的導(dǎo)入依賴是不用寫具體版本號的。
導(dǎo)入的依賴:
org.springframework.boot spring-boot-starter-web
Spring-boot-starter-==web==:導(dǎo)入Web應(yīng)用的時(shí)候,導(dǎo)入Web需要用到的依賴。
Spring-boot-starter-x:Spring Boot的場景啟動器(里面包含了多個(gè)整合好的依賴)。
SpringBoot將所有的功能場景都抽取出來做成Staters 只需要引入Staters就可以了
@SpringBootApplication:包含:
@Component:定義為一個(gè)組件可以被bean掃描器掃描出來
@ComponentScan:掃描被注解的對象。
@EnableAutoConfiguration:自動配置,自動導(dǎo)入
@Import(EnableAutoConfigurationImportSelector.class)
導(dǎo)入SpringBootApplication注解修飾類的包名里面的所有的子包全部導(dǎo)入。
EnableAutoConfigurationImportSelector 繼承于 AutoConfigurationImportSelector
@Override public String[] selectImports(AnnotationMetadata annotationMetadata) { Listconfigurations = getCandidateConfigurations(annotationMetadata, } /** 掃描META-INF/spring.factories中獲取EnableAutoConfiguration的值再包裝成Properties,從properties中獲取到EnableAutoConfiguration.class對應(yīng)的全限定名類名,添加進(jìn)入容器中。 */ protected List getCandidateConfigurations(AnnotationMetadata metadata, AnnotationAttributes attributes) { List configurations = SpringFactoriesLoader.loadFactoryNames( getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader()); }
SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.calss ,classLoader);
獲取類路徑下META-INF/spring.factories中獲取EnableAutoConfiguration的值,再將這些值作為自動配置類導(dǎo)入到容器中。
==結(jié)論==:@SpringBootApplication 被修飾的類為主配置類,將主配置類所在的包下的所有的子包里面的組件全部掃描到Spring容器中來,再從根目錄下的文件中讀取配置文件生成配置類,自動配置好。
JaveEE的整體整合和自動配置都在:pring-boot-autoconfigure-1.5.9.RELEASE.jar中
Spring Initializer生成Boot項(xiàng)目的目錄:
static :保存靜態(tài)文件;js,css,png
templates : 保存模板頁面;(默認(rèn)不支持jsp,可以使用模板引擎)
application.properties : Spring Boot的配置文件,默認(rèn)配置文件可以在此文件中更改。
配置文件文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/77605.html
摘要:最近有項(xiàng)目需要使用語言開發(fā)數(shù)據(jù)接口,整體框架需要符合微服務(wù)架構(gòu),在網(wǎng)上查找了相關(guān)資料,最終選定了的架構(gòu),此文主要記錄在下的使用,一方面作為學(xué)習(xí)日記,另一方面也希望對正在學(xué)習(xí)的朋友們有一定幫助。最后,整個(gè)項(xiàng)目完成后目錄結(jié)構(gòu)如下 最近有項(xiàng)目需要使用java語言開發(fā)數(shù)據(jù)接口,整體框架需要符合微服務(wù)架構(gòu),在網(wǎng)上查找了相關(guān)資料,最終選定了Springcloud+Springboot的架構(gòu),此文...
摘要:關(guān)于的自動配置,這個(gè)是重點(diǎn)之一,后面細(xì)說。在后續(xù)的學(xué)習(xí)中會慢慢學(xué)習(xí)到。紅色標(biāo)記的就是已經(jīng)掃描到了并初始化成功了。 以下內(nèi)容,如有問題,煩請指出,謝謝 springboot出來也很久了,以前零散地學(xué)習(xí)了不少,不過很長時(shí)間了都沒有在實(shí)際中使用過了,忘了不少,因此要最近準(zhǔn)備抽時(shí)間系統(tǒng)的學(xué)習(xí)積累下springboot,給自己留個(gè)根。 因?yàn)橐郧皩W(xué)過一些,這里就主要根據(jù)官方文檔來學(xué)習(xí)了,可能會根據(jù)...
摘要:小時(shí)學(xué)會學(xué)習(xí)總結(jié)時(shí)間年月日星期六說明本文部分內(nèi)容均來自慕課網(wǎng)。慕課網(wǎng)教學(xué)示例源碼暫無。數(shù)據(jù)庫操作下第六章事務(wù)管理事務(wù)管理只有查詢的時(shí)候不加事務(wù),其它任何操作都要加事務(wù)。第七章課程回顧課程回顧總結(jié)介紹安裝配置的使用數(shù)據(jù)庫操作 《2小時(shí)學(xué)會SpringBoot》學(xué)習(xí)總結(jié) 時(shí)間:2017年2月18日星期六說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示...
摘要:代碼如下可以看到中一共有個(gè)依賴,其中只有是我手動加入的,用于單元測試。點(diǎn)擊項(xiàng)目啟動按鈕,效果如下好的程序必須配備完善的單元測試。測試結(jié)果如下可以看到紅圈框住的地方,出現(xiàn)這個(gè)綠色標(biāo)志證明單元測試沒問題。 微信公眾號:一個(gè)優(yōu)秀的廢人如有問題或建議,請后臺留言,我會盡力解決你的問題。 前言 哎呦喂,按照以往的慣例今天周六我的安排應(yīng)該是待在家學(xué)學(xué)貓叫啥的。但是今年這種日子就可能一去不復(fù)返了,沒...
閱讀 2121·2021-09-13 10:23
閱讀 2447·2021-09-02 09:47
閱讀 3966·2021-08-16 11:01
閱讀 1323·2021-07-25 21:37
閱讀 1719·2019-08-30 15:56
閱讀 637·2019-08-30 13:52
閱讀 3227·2019-08-26 10:17
閱讀 2530·2019-08-23 18:17