springboot
簡(jiǎn)介
約定優(yōu)于配置
概念:
主要特性:
springboot應(yīng)用
案例實(shí)現(xiàn)
熱部署
全局配置文件
application.yaml
application.properties
屬性注入
常用注解
@Value屬性注入
@ConfigurationProperties 批量注入
第三方配置
松散綁定
@Value與@ConfigurationProperties的對(duì)比
日志框架
源碼
源碼剖析依賴管理
源碼剖析自動(dòng)配置
源碼剖析run方法執(zhí)行流程
源碼剖析自定義start
源碼剖析內(nèi)嵌tomcat
源碼剖析自動(dòng)配置SpringMVC
springboot數(shù)據(jù)訪問
源碼剖析數(shù)據(jù)源自動(dòng)配置
Druid連接池的配置
springboot整合mybatis
源碼剖析mybatis自動(dòng)配置
springboot+mybatis實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換
springboot緩存深入
JSR107
spring的緩存抽象
spring的緩存使用
源碼剖析緩存自動(dòng)配置
源碼剖析@cacheable
@CachePut@CacheEvict@CacheConfig
基于redis的緩存實(shí)現(xiàn)
自定義redisCacheManager
springboot項(xiàng)目部署
jar包
war包
多環(huán)境部署
springboot項(xiàng)目監(jiān)控
Acturator
SpringBoot Admin
一、Springboot應(yīng)用
約定優(yōu)于配置:本質(zhì)上就是對(duì)系統(tǒng),類庫(kù)、框架中的一些東西,給一個(gè)大眾化的默認(rèn)值。這個(gè)默認(rèn)值好比就是兩者約定好的,見面了都能認(rèn)識(shí),這樣就省去了配置。好比咱約定好一個(gè)user實(shí)體,就是對(duì)應(yīng)數(shù)據(jù)庫(kù)中的user表,自然不用配置映射文件,就能將兩者對(duì)應(yīng)起來(lái),產(chǎn)生聯(lián)系。
Springboot的設(shè)計(jì)其實(shí)就是為了快速的跑起來(lái)一個(gè)生產(chǎn)級(jí)的應(yīng)用程序,并盡可能的減少配置。
主要特性:主要是兩個(gè),一個(gè)是起步依賴,一個(gè)就是自動(dòng)配置,還有一個(gè)就是內(nèi)嵌了web容器,tomcat等,最終項(xiàng)目可以就打成一個(gè)jar包。
springboot項(xiàng)目目錄結(jié)構(gòu):主程序項(xiàng)目啟動(dòng)類、測(cè)試類、全局配置文件、靜態(tài)資源以及模版文件夾
在com.xxx包下創(chuàng)建Controller
@RestController//該注解是一個(gè)組合注解,等同于@Controller與@ResponseBody兩個(gè)注解
@RequestMapping("/demo")
熱部署:用spring-boot-devtools,編輯器上啟動(dòng)了項(xiàng)目,假如改動(dòng)了相關(guān)代碼,就會(huì)自動(dòng)編譯,該插件就會(huì)監(jiān)控到classpath下有文件變化,就重啟springboot
該插件重啟快速的原因:本質(zhì)就是兩個(gè)類加載器,對(duì)于第三方j(luò)ar包用的是base-classLoader,開發(fā)人員自己的類用的類加載器是restartclassloader。這使得比停掉服務(wù)重啟就快的多,因?yàn)椴寮皇侵貑⒌拈_發(fā)人員編寫的代碼部分。
某些資源在更改后不一定要重啟服務(wù),所以可以設(shè)法排除,用devtools的一個(gè)配置屬性就可以排除:比如: spring.devtools.restart.exclude=static/,public/ 僅排除 /static , /public
全局配置文件 application.properties application.yml/application.yaml
@ConfigurationPropertise(prefix = "person")注解的作用就是將配置文件中以person開頭的屬性值通過setXXX的方式注入到實(shí)體類對(duì)應(yīng)得屬性中。
@Component注解的作用就是將當(dāng)前注入屬性值的實(shí)體類對(duì)象作為bean組件放到Spring容器中,只有這樣才能被@ConfigurationProperties注解進(jìn)行賦值。
未完待完善。。。