spring常用注解分类:
1.创建对象相关注解:
@Component:
作用:相当于bean.xml中的bean标签
属性:
value:给bean取一个唯一标识名称,相当于bean标签的id属性
细节:
1.value属性可以省略
2.默认使用类的名称首字母小写,作为bean的名称
@Controller @Service @Repository
说明:这三个注解是由@Component注解衍生而来,衍生的目的是让语义更加明确。
@Controller:一般用于表现层对象
@Service:一般用于业务层对象
@Repository:一般用于持久层对象
2.设置bean作用范围相关注解:
@Scope:
作用:相当于bean标签中scope属性
属性:
value:指定bean作用范围取值
属性取值:
singleton:单例。默认值
prototype:多例
request:web项目中,把beabn对象存入request域中【了解】
session:web项目中,把bean对象存入session域中【了解】
globalsession:web项目中,把bean对象存入全局session域中【了解】
3.注入数据相关注解:
作用:默认按照bean的类型注入数据
细节:
1.在spring容器中,同一个类型存在多个bean实例对象。先按照bean的类型注入,再按照bean的名称进行匹配。
匹配上注入成功;匹配不上注入失败。
@Qualifier:
作用:配合@Autowired注解使用。在按照bean的类型注入基础上,再按照bean的名称进行注入。
细节:
1.在成员变量上不能单独使用,需要配合@Autowired注解一起使用
2.在方法形参上可以单独使用
@Resource
作用:
默认按照bean的名称注入数据
属性:
name:指定bean的名称注入数据
type:指定bean的类型注入数据
细节:
默认按照bean的名称匹配注入数据。如果注入失败,再按照bean的类型注入。
@Value:
作用:给java简单类型注入数据。
4.与bean生命周期相关的注解:
@PostConstruct:
作用:指定执行初始化操作方法。相当于bean标签中的init-method属性
@PreDestroy:
作用:指定执行销毁操作方法。相当于bean标签中的destroy-method属性