spring常用注解的使用
1、用于创建对象
相当于:
1.1、@Component
- 作用:把资源让spring来管理,相当于在xml中配置一个bean。
- 属性
- value:指定bean的id;如果不指定value属性,默认bean的id是当前类的类名,首字母小写。
1.2、@Controller、@Service、@Repository
他们三个注解都是针对@Component的衍生注解,他们的作用及属性都是一模一样的。只不过是提供了更加明确的语义化。
- @Controller:一般用于表现层的注解。
- @Service:一般用于业务层的注解。
- @Repository:一般用于持久层的注解。
细节:如果注解中有且只有一个属性要赋值时,且名称是value,value在赋值是可以不写
2、用于注入数据
相当于:
2.1、@Autowired
- 作用
- 自动按照类型注入。当使用注解注入属性时,set方法可以省略。它只能注入其他bean类型。
- 当有多个类型匹配时,使用要注入的对象变量名称作为bean的id,在spring容器查找,找到了也可以注入成功,找不到就报错。
2.2、@Qualifier
-
作用
- 在自动按照类型注入的基础之上,再按照Bean的id注入。
- 它在给字段注入时不能独立使用,必须和@Autowire一起使用;但是给方法参数注入时,可以独立使用。
-
属性
- value:指定bean的id。
2.3、@Resource
-
作用:直接按照Bean的id注入。它也只能注入其他bean类型。
-
属性
- name:指定bean的id。
2.4、@Value
-
作用:注入基本数据类型和String类型数据的
-
属性
- value:用于指定值
3、用于改变作用范围
相当于:
3.1、@Scope
- 作用:指定bean的作用范围。
- 属性
- value:指定范围的值
- 取值:singleton prototype request session globalsession
- value:指定范围的值
4、和生命周期相关
相当于:
4.1@PostConstruct
- 作用:用于指定初始化方法。
4.2、@PreDestroy
- 作用:用于指定销毁方法。