spring注解

1、用于创建对象的注解:xml中<bean>标签

@Component:

把当前类对象存入spring容器中

属性:value,用于指定bean的id,不写时默认值是当前类名,且字母改小写

@Controller:表现层

@Service:业务层

@Repository:持久层

以上3个注解的作用和属性和component是一样的。他们3个是spring框架为我们提供的3层使用的注解。使三层对象更加清晰

2、用于注入数据:xml中<property>

@Autowired:

作用:自动按照类型注入,只要容器中有唯一bean对象类型于要注入的变量类型匹配,就可以注入成功;如果IOC容器中没有任何bean的类型和要注入的类型匹配则报错;

如果IOC容器中包含多个类型匹配,先按照类型匹配出多个bean,再用变量名来匹配bean id来确定注入那个bean

出现位置:可以是变量上,也可以是方法上

细节:在使用注解注入时,set方法就不是必须的了

@Qualifier

作用:按照类型注入的基础上再按照名称注入。在给类成员注入时不能单独使用,但是在给方法参数注入时可以。

value:用于指定注入bean的id

@Resource

作用:直接按照bean的id注入,可独立使用

name:指定bean的id

以上3中类型的注入只能用于bean类型的注入,而基本类型和string类型无法使用上述注解实现。另外,集合类型注入只能通过XML来实现

@Value

作用:用于注入记本类型和String类型的数据

value:用于指定数据的值。它可以使用spring中的SpEL(spring的el表达式)

SpEL写法:${表达式}

3、用于改变用用范围:scope属性

@Scope

作用:用于指定bean的作用范围

value:指定范围的取值 singleton prototype,默认singleton

4、用于生命周期:init-method 和 destroy-method

@PreDestory

作用:用于指定销毁方法

@PostConstruct

作用:用于指定初始化方法

 

posted @ 2020-06-02 16:14  catherine_lei  阅读(76)  评论(0)    收藏  举报