容器相关
给容器注册组件的方法:①包扫描+组件注解②Bean(第三方包注
解)③Import/@ImportSelect④FactoryBean
1.@Bean给容器注册组件,@Configuration标注为配置类
2.自动扫描组件/扫描规则 @ComponentScan
3,自定义组件TypeFilter指定过滤规则
实现TypeFilter接口
4.@Scope设置组件作用域 直接看源码
关于Bean,都可以参考原XML配置 四个作用域区别懒加载
5.懒加载@Lazy,针对单实例,容器创建不注入对象
6.@Conditional:按条件注册Bean,在SpringBoot自动配置类里面用得贼多!
需要实现Condition接口
7.@Implort 给容器快速导入一个组件(当导入的组件非常简单)id默认为全类名
8.实现ImportSelect接口/实现ImprotBeanDefinitionRegister接口 自定义添加bean
9.FactoryBean本身是一个接口 看源码 思考 如何获得FactoryBean本身 &
Bean的生命周期
1.Bean的生命周期:创建/初始化/销毁
2.指定初始化和销毁方法,在@Bean里面指定,销毁只对单实例有效
3.注册的类实现两个接口
4.JSR250标准两个注解 不用管
5.BeanPostProcessor:Bean的后置处理器,是一个接口需要实现
原地/底层 留着后面补
6.@Value赋值 1.基本数值2.SpEl表达式 #{}3.${}取出配置文件的值 这个在boot里有
7.PropertySource,:读取外部配置文件k/v值
8.自动装配@Autowirsed/@Qualifier/@Primary
@Resoure JSR250标准 以属性名注册Bean/@Inject jsr303规范
(需要导入javax.inject包)
@Profile:根据环境注册
1.试用于切换环境(生产/测试/开发)
2.使用:在运行里面配置-Dspring.profiles.active=dev
3编码方式
summary:spring的组件添加/组件赋值/组件注入