當前位置:編程學習大全網 - 源碼下載 - spring常用註解作用與常用接口與後置處理器

spring常用註解作用與常用接口與後置處理器

從spring2.5之後,spring註解驅動開發慢慢取代了Spring的xml配置文件的作用,而且目前流行的SpringBoot開發也是基於spring註解驅動做擴展的,所以想要理解好SpringBoot,就必須掌握壹些spring的註解驅動。

以前xml的做法是

現在使用spring註解的做法是

java8之後ComponentScan註冊加了@Repeatable(ComponentScans.class),可以直接在配置類上標註多個@Componentscan,在java8之前想配置多個@Componentscan掃描,需要用@ComponentScans

給容器註冊組件(bean)的幾種方式

1.包掃描+組件標註註解(@Service、@Controller、@Repository、@Componet),這種方式用於導入自己寫的類

2.@Bean方式導入,常用入導入第三方包裏面的類 默認bean id為導入執行的方法名

3.@Import方式導入(有三種用法),默認的bean id為全類名

4.通過FactoryBean(工廠bean)

-bean創建->初始化->銷毀

applicationContextAeare和EmbeddedValueResolverAeare都是通過ApplicationContextAwareProcessor後置處理器來實現的

BeanFactoryPostProcessor是在bean定義信息加載完成後調用

BeanDefinitionRegistryPostProcessor是在bean定義信息將要加載時調用

先執行BeanDefinitionRegistryPostProcessor的實現類再執行BeanFactoryPostProcessor的實現類

創建bean的源碼位置

org.springframework.context.support.AbstractApplicationContext#finishBeanFactoryInitialization

->org.springframework.beans.factory.BeanFactory#getBean(java.lang.String, java.lang.Class<T>)

-->org.springframework.beans.factory.support.AbstractBeanFactory#createBean

--->org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#doCreateBean

執行bean對象的實例化

->org.springframework.beans.factory.support.AbstractBeanFactory#createBean

給bean的屬性賦值

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#populateBean

initializeBean方法主要做了三個操作1.循環執行後置處理器的的前置方法(applyBeanPostProcessorsBeforeInitialization)、2.再執行初始化方法(invokeInitMethods),3.再執行後置處理器的的後置方法(applyBeanPostProcessorsAfterInitialization)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#initializeBean(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition)

  • 上一篇:火車票搶票用哪個軟件比較好?2021火車票搶票軟件列表
  • 下一篇:出擊英雄島無限金葉子怎麽刷
  • copyright 2024編程學習大全網