作用:调用无参构造创建一个bean对象,并把对象存入spring的IOC容器,交由spring容器进行管理。相当于在xml中配置一个bean。
属性:value:id默认按照当前bean的类名,首字母小写,可以在使用时指定value名称。
作用:与@Component注解相同,只是用于区别持久层。
作用:与@Component注解相同,只是用于区别业务逻辑层。
作用:与@Component注解相同,只是用于区别控制访问层。
作用:用于把当前方法的返回值作为bean对象存入spring的ioc容器中,
等价于spring的xml配置文件中的<bean>,不同的是作用与方法上。
属性:可以通过配置initMethod来指定bean的初始化方法,destroyMethod指定bean销毁时的方法,value指定bean被注册到IOC容器的id。
6)@Configuration
作用:配置spring容器(应用上下文),@Configuration底层是含有@Component ,所以@Configuration 具有和 @Component 的作用,相当于spring的xml里面的<beans>。
作用:@ComponentScan主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中,相当于xml中的 <context:component-scan>。
属性:可以通过value指定需要扫描的包的数组,比如:@ComponentScan({"com.star.mapper","com.star.controller","com.star.serviec"})
作用:模式声明(singleton|prototype)默认为单例模式,指定bean的作用范围。
属性:可以通过value指定bean的范围。
作用:将从spring容器中按类型查找到指定的bean并且自动装配到指定位置。@Autowired默认按照类型(byType)装配,如果想要按照名称(byName)装配,需结合
required指定true|false,是否强制注入bean,默认true。
Qualifier
作用:在自动按照类型注入的基础之上,再按照 Bean 的 id 注入。它在给字段注入时不能独立使用,必须和
作用:为当前类或方法添加一个事务。
属性:可以通过readOnly属性指定true|false,是否是只读的事务。
作用:位于org.springframework.test.context包下,是为了方便junit单元测试使用,可以以指定的配置文件初始化spring上下文。
属性:locations指定一个配置文件数组:比如:@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
作用:通过
作用:自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常。
作用:用于指定该Bean是否取消预初始化,默认为true,用于注解类,延迟初始化。
属性:value:指定true|false,是否懒加载。
作用:用于方法的异步执行,被标注的方法将会开辟一个线程来执行,详情移步:这里。
属性:value:可以为异步执行器指定一个id,也可以不指定。
位于 javax.annotation包下的注解
作用:JDK1.6以后,用于依赖注入,作用与@Autowired注解相似,spring同样支持通过此注解来注入对象,但要明确这个注解不属于spring,参靠博客。
属性:name:指定bean的id,在注入依赖时,首先按照id查找bean,未找到再通过类型查找bean,未发现则报错。
作用:用来标注源代码中的哪些东西是由某些工具生成的,而不是人写的,可以作用于包、类、方法、字段、构造函数、本地变量、方法参数。
属性:date:生成源代码的日期;value:指定包名数组;comments:包含的注释。
作用:指定作用与方法所在的bean初始化(实例化之后)时的动作,spring同样支持了此注解,只能有一个方法可以用此注释进行注释,方法不能有参数,返回值必需是void,方法需要是非静态的且只会执行一次。
作用:注解的方法在bean销毁时得到执行,与上述约束相同。
spring 容器中的 Bean 是有生命周期的,Spring 允许在 Bean 在初始化完成后以及 Bean 销毁前执行特定的操作,常用的设定方式有以下三种:
1.通过实现 InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;
2.通过 <bean> 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法;
3.在指定方法上加上@PostConstruct 或@PreDestroy注解来制定该方法是在初始化之后还是销毁之前调用
但他们之前并不等价。即使3个方法都用上了,也有先后顺序.
Constructor > @PostConstruct >InitializingBean > init-method
参考博客:这里。
原文:https://www.cnblogs.com/StarChen20/p/13949578.html