Spring之旅---Spring中与IOC相关的注解总结

Spring Framework的两大特征是IOC与AOP,其中最重要的就是IOC,在spring5与springboot2的时代,IOC的使用基本采用注解的方式,这里是spring中常用的一些与IOC相关的注解。这只是个人学习时做的概要笔记,语言不是十分规范,但总结得还是挺全的,欢迎随便看看啊啊啊啊啊。

1.声明、注册bean相关

Component    声明bean,自动装配到IOC,默认bean名为类名(小驼峰)
(value/name)
Controller    声明为一个控制器类bean
RestController声明为一个序列化控制器类bean,默认发送application/json序列化数据(不严格)
ControllerAdvice  声明为控制器切面类bean,内有Component
Service        声明为服务类bean
Repository    声明为数据操作接口bean
EnableJpaRepositories 扫描声明为jpa操作接口bean
EnableMongoRepositories  扫描声明为mongodb操作接口bean
Mapper/MapperScan 声明/扫描声明为mybatis操作接口bean,根据映射配置利用sqlsession生成默认实现类
Bean         声明方法返回对象为bean,默认bean名为方法名,通常出现在配置类中
Conditional  根据条件允许装配bean,须结合实现Condition接口matches方法的条件类
ConditionalOnClass根据类是否存在允许装配bean
ConditionalOnProperty根据属性是否存在允许装配bean
ConditionalOnMissingBean根据bean是否缺失允许装配bean
Profile  根据环境允许装配此bean,须配置环境开启JAVA_OPTS="-Dspring.profiles.active=dev"
AutoConfigureAfter/AutoConfigureBefore在某个bean装配之后或之前装配

Configration 声明为java配置类(bean),使java类配置等同于xml文件配置
SpringBootConfigration springboot中声明为java配置类
EnableAutoConfiguration 开启自动化配置
ComponentScan 扫描路径中的bean进行注册
(value/basePackages,basePackageClasses,lazyInit,includeFilter/excludeFilter,@Filter)
ImportResource 扫描xml文件注册bean (springboot)
SpringBootApplication  扫描路径中的bean进行注册,开启自动化配置

Value 在装配bean时给对应成员变量赋初值,boot中可直接使用${}将属性文件的属性设为初值
ConfigrationProperties 结合其value与成员变量名为全限定名,使用属性文件中属性在装配bean时赋初值
PropertySource    配置自定义的属性文件(value、ignoreResourceNotFound)
Scope 指定bean的作用域 (ConfigurableBeanFactory.单/原、WebApplicationContext.web作用域)
Import加载类到当前环境

2.依赖注入相关

Autowired  注入bean,从ioc容器根据类型与bean名(根据属性名猜)获取bean对象注入
也可以加在(构造/普通)方法/方法参数上        根据参数类型与参数名获取bean对象,根据方法要求注入
Primary    优先注入,在注入时发生类型冲突优先注入此类对象
Quelifier  指定注入的bean名
Inject、Resource jsr提供的注入注解

3.bean生命周期相关

PostConstruct 自定义(重写)初始化方法init
PreDestroy    自定义(重写)销毁方法destroy

你可能感兴趣的:(Spring之旅)