Spring常用注解
用于注册bean对象注解
@Component
调用无参构造创建一个bean对象,并把对象存入spring的IOC容器,交由spring容器进行管理。相当于在xml中配置一个bean。
@Controller
作用上与@Component。一般用于表现层的注解。
@Service
作用上与@Component。一般用于业务层的注解。
@Repository
作用上与@Component。一般用于持久层的注解。
@Bean
用于把当前方法的返回值作为bean对象存入spring的ioc容器中
用于依赖注入的注解
@Autowired
@Autowire和@Resource都是Spring支持的注解形式动态装配bean的方式。Autowire默认按照类型(byType)装配,如果想要按照名称(byName)装配,需结合@Qualifier注解使用。
required:@Autowire注解默认情况下要求依赖对象必须存在。
如果不存在,则在注入的时候会抛出异常。
如果允许依赖对象为null,需设置required属性为false。
@Qualifier
在自动按照类型注入的基础之上,再按照 Bean 的 id 注入。它在给字段注入时不能独立使用,必须和 @Autowire一起使用;但是给方法参数注入时,可以独立使用。
@Resource
@Autowire和@Resource都是Spring支持的注解形式动态装配bean的方式。
@Resource默认按照名称(byName)装配,名称可以通过name属性指定。
如果没有指定name,则注解在字段上时,默认取(name=字段名称)装配。
如果注解在setter方法上时,默认取(name=属性名称)装配。
name:用于指定要注入的bean的id
type:用于指定要注入的bean的type
@Value
通过@Value可以将外部的值动态注入到Bean中,可以为基本类型数据和String类型数据的变量注入数据
用于改变bean作用范围的注解
@Scope
指定bean的作用范围。
value:
1)singleton:单例
2)prototype:多例
3)request:
4)session:
5)globalsession:
生命周期相关的注解
@PostConstruct
指定初始化方法
@PreDestroy
指定销毁方法