spring框架部分知识要点
spring bean声明周期
spring工厂,上下文,容器
注解版IOC
组件注册:
生命周期:
属性赋值:
自动装配:
1.@autowire @qualifier @primary 默认按照组件类型进行装配,如果遇到多个,则按按照组件名进行装配 spring注解。
2.@resources (jsr250) 默认按照组件名称进行装配;@inject(jsr330) 需要导入javax.inject包,功能与@autowire(注:@inject没有required属性) java规范注解 。
3.@autowire可以用在构造器,方法,属性,参数,不管放在哪都是从容器中获取需要的组件。
4.自定义组件,使用spring底层组件
5.@profile 根据当前环境动态的激活和切换一系列组件的功能
如:开发环境跟测试环境的切换。作用于方法,类
默认是default环境,有dev test product
激活profile:
1.使用命令行参数启动环境,指定虚拟机参数
-Dspring.profile.active=test
2.代码的方式
3.没有标注环境标识的bean都会加载。
注解版AOP
aop使用:
aop原理:
1.@EnableAspectJAutpProxy
事务
使用:@EnableTrancationManagement,@Trancational
简单原理:
拓展原理
1.BeanFactoryPostProcessor
2.BeanDefinationRegisterPostProcessor在所有bean信息将要被加载,bean初始化之前执行。在BeanFactoryPostProcessor之前执行。
3.ApplicationListener,监听容器中触发的事件,事件驱动模型开发
监听ApplicationEvent事件。
使用:
监听器的简单原理:观察者模式
4.@EventListener注解的使用
SmartInitializingSingleton
spring容器创建与初始化
web
servlet3.0需要Tomcat7以上,jcp
servlet3.0 规范:
在启动时可以注册三大组件,运行时不能添加。