目录
@Import-使用ImportBeanDefinitionRegistrar
initializingBean和disposableBean
AnnotationAwareAspectAutoProxyCreator
注册AnnotationAwareAspectAutoProxyCreator
AnnotationAwareAspectAutoProxyCreator执行时机
BeanDefinitionRegistryPostProcessor
@EventListener和SmartInitializingSingleton
servlet3.0-ServletContainerInitializer
servlet3.0-ServletContext注册三大组件
springmvc-异步请求-返回DeferredResult
组件注册
@Configuration&@Bean给容器中注册组件
配置类加@Configuration,容器(方法)加@Bean(类型是返回值类型,id是方法名)
获取bean需要AnnotationConfigApplicationContext获取后getBean
@ComponentScan-自动扫描组件&指定扫描规则
配置类加@ComponentScan扫描组件,value设定扫描的包,includeFilters指定只包含的组件(需要设置usedefaltfilter=false将默认的去除),excludeFiters指定排除的组件
includeFilters和excludeFiters中@Filter指定规则(type=,classes=)
另外,@ComponentScans可以包含多个ComponentScan
自定义TypeFilter指定过滤规则
上面的type设为CUSTOM
新建一个下述接口的实现类
@Scope-设置组件作用域
设置单实例和多实例的 另外web环境下还有session和request的
@Lazy-bean懒加载
对于单实例bean的
@Conditional-按照条件注册bean
@Import-给容器中快速导入一个组件
配置类里加此标签
@Import-使用ImportSelector
新建下面接口的实现类
实现里面的方法
注意:此方法可以返回空数组return new string[]{} 但一定不能返回null
import里面加上
@Import-使用ImportBeanDefinitionRegistrar
创建实现类
可以指定bean名,beanDefinition需要指明那个类变成bean
使用FactoryBean注册组件
生命周期
指定初始化和销毁方法
bean标签内指定初始化和销毁方法
先构造,然后init初始化。关闭close容器时,destroy bean
initializingBean和disposableBean
@PostConstruct和@Predestroy
在方法上加注解
BeanPostProcessor-后置处理器
BeanPostProcessor原理
BeanPostProcessor在Spring底层的使用
属性赋值与自动装配
属性赋值
属性赋值@Value赋值
PropertySource加载外部配置文件
第三种
需要导入配置文件,配置文件里写k/v
自动装配
@Autowired@Qualifier@Primary
自动注入,指定装配,默认首选
primary在没有明确指定qualifier时起作用
@Resource和@Inject
自动装配-方法、构造器位置的自动装配
Aware注入Spring底层组件和原理
@Profile环境搭建
@Profile根据环境注册bean
IOC小结
AOP
AOP功能测试
after无论是正常结束还是异常结束都调用
在通知中获取方法名、参数等
获取返回值
获取异常
关键三步
AOP原理
@EnableAspectJAutoProxy
AnnotationAwareAspectAutoProxyCreator
注册AnnotationAwareAspectAutoProxyCreator
AnnotationAwareAspectAutoProxyCreator执行时机
创建AOP代理
链式调用通知方法
↑貌似是此节课之前的笔记
AOP原理总结
声明式事务
环境搭建
测试成功
源码分析
扩展原理
BeanFactoryPostProcessor
BeanDefinitionRegistryPostProcessor
ApplicationListener用法
ApplicationListener原理
@EventListener和SmartInitializingSingleton
Spring容器创建
BeanFactory预准备
执行BeanFactoryPostProcessor
注册BeanPostProcessors
初始化MssageSourse
初始化事件派发器、监听器
创建Bean准备
Bean创建完成
容器创建完成
Spring源码总结
servlet3.0
servlet3.0-简介&测试
实现HttpServlet接口,重写doGet方法
@WebServlet()内写拦截请求路径
servlet3.0-ServletContainerInitializer
servlet3.0-ServletContext注册三大组件
servlet3.0-与SpringMVC整合分析
springmvc-整合
步骤:
springmvc-定制与接管SpringMVC
servlet3.0-异步请求
springmvc-异步请求-返回Callable
测试一下,如果控制器返回callable会怎么样
打印如下:
原因: