尚硅谷-Spring-註解驅動篇

本文章算是給尚硅谷-SpringBoot學習先打基礎了,後面看SpringBootApplication源碼的時候能更清晰

視頻地址:https://www.bilibili.com/video/BV1gW411W7wy?p=61&vd_source=510ec700814c4e5dc4c4fda8f06c10e8

csdn csdn csdn csdn csdn


🔥1. 容器篇

1.1. IOC-基本註解

1.1.1 @Lazy

針對單實例,在調用容器時才加載bean

1.1.2 @Conditional
  1. 自定義類實現Condition接口,然後配置條件
  2. @Conditional可以引用上面自定義類,然後加載類或者方法上,只有滿足條件才能注入@Bean
1.1.3 @Import
1.1.3.1 基本注入組件方法

​ 給容器註冊組件方法:

  1. 包掃描+組件掃描:修飾類就能創建一個對象
  2. @Bean注入 (配合@Configuration):本質就是修飾方法,然後創建一個對象
  3. @Import快速導入(配合@Configuration):注入進去的類型,也就是類的路徑
  4. 使用@EnableConfigurationProperties
  5. 使用FactoryBean
    1. 就是實現FactoryBean接口,然後利用@Bean註冊這個工廠bean,這樣就能實現行的Bean注入

​ 注入屬性:

	1. @ConfigurationProperties + @Component
	1. @Value

​ 裝配組件(上面註冊主鍵後就能使用):

		1. @Autowired:可以修飾方法和構造器,就是IOC容器中獲取到這個相應名字的對象(就等同於之前set函數賦值對象的操作)
		1. @Resource
		1. @Inject(和@Autowired等價):需要導入包,java規範
   1.本質就是單例Controller組件,然後內部使用@Autowired注入IOC容器中各個Bean,有衝突就使用@Qualifier
   2.各個底層又是使用new 各個對象,保證了每個線程方法訪問不會衝突。
   @Configuration組件上可以使用組件掃描@ComponentScan把各個組件加載到本類中來
1.1.3.2 @ImportSelector, @ImportDefinBEAN(略)
1.1.4 Bean--執行初始化/銷燬方法

​ 就是初始化Bean後,想執行自定義關於這個Bean的初始化和銷燬方法怎麼弄

1.1.4.1 @Bean註解
@Bean(initMethod = "Bean類中的初始化方法", destroyMethod = "Bean類中的銷燬方法")
1.1.4.2 JSR250--@PostConstruct/@PreDestory

​ @PostConstruct:在bean初始化與構造器屬性

​ @PreDestory:容器銷燬Bean前的清理工作

1.1.4.3 BeanPostProcessor

​ 後置處理器:BeanPostProcessor


1.2 AOP--@EnableAspectJAutoProxy(略)

​ @EnableAspectJAutoProxy:雷神說必須要開啓,但是實際用AOP切面的時候不開啓也能使用,而且我開啓這個註解主要是在事務傳播行爲的時候用到,有待商榷吧。

1.3 聲明式事務--@EnableTransactionManagement(略)

​ @EnableTransactionManagement:事務管理器,我也沒用到也能使用事務管理。

🔥2. 擴展原理篇

2.1.Spring源碼(略)

​ 就是把bean全加載進來,然後使用餓漢或者懶漢加載(默認餓漢,可由用戶自定義)

🔥3. Web篇

3.1.Servlet3.0(略)

3.2.SpringMVC異步處理(略)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章