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