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