Spring IOC容器注解式开发
一。什么是IOC:
控制权翻转。Spring作者认为开发人员应该关注与业务的实现。
对于业务中涉及的对象【创建,初始化,销毁】管理不应该去涉及。
应该将对象管理权全权交给Spring,从而简化开发强度
二。bean和组件
【组件】:委托Spring框架进行管理的JAVA类
【bean】:就是实例对象,实在Spring框架被管理的实例对象
三。Spring IOC容器实现功能:
1.动态组件注册。
2.bean对象初始化管理
3.依赖注入(DI)
4.bean对象初始化前后,进行次要业务组装
四。@Configuration:
1.[作 用]:可以将一个Java类修饰为【配置文件】,在这个Java类
进行组件注册
五。组件注册:
1.@Bean
1.[介绍]:
1)Spring框架提供注解
2)@Bean可以将一个Java类交给Spring管理.
3) @Bean要在【配置类】使用
2.【特征】:
1)在默认时,以@Bean修饰的bean对象对应的关键字是【方法名】
2)如果在@Bean指定bean对象对应关键@Bean(value={"stu1","stu2"}),
此时bean对象在Spring容器对应关键字就不是【方法名】,是stu1或则stu2
3)所有通过@Bean修饰生成的bean对象默认的情况下都是单例。
4)对于单例的bean对象,可以通过@Lazy延缓变对象被创建时机。
2.@ComponentScan
1.【介绍】:
1)Spring框架提供注解
2)自动将指定包下的【类】加载到Spring容器
(@Controller,@Service,@Resposity,@Compoent)
3)@ComponentScan 要在【配置类】使用
2. 【特征】:
1)可以将某些类排除在Spring容器之外
2)可以将某些类添加到Spring容器之内
3.FilterType:扫描过滤策略
1)ANNOTATION 根据注解进行过滤(@Controller,@Service,@Resposity,@Compoent)
2)ASSIGNABLE_TYPE 根据指定类型
3)ASPECTJ表达式过滤
4)REGEX根据正则表达式过滤
5)CUSTOM,根据开发人员自行定义过滤规则
4.如何自定义扫描过滤规则 3.FilterType.CUSTOM
第一步:在@ComponentScan(value="包路径",
excludeFilters={
@Filter(type=FilterType.CUSTOM,
value=自定义过滤规则类.class)
})
3.@Conditional
1【介绍】:
1)Spring框架提供注解
2)动态决定当前Java类是否有资格添加到Spring容器
3)在配置类中使用
4.FactoryBean接口
5.@Import
六。变对象赋值
@value;
基本数据
SPEL
外部属性文件
七。Bean对象的生命周期监控
八。BeanPostProccer【源码分析】
九。自动装配
@AutoWried
Aware接口
-------------------------------------IOC容器--------------------------------------------------------
AOP