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
作用:用于指定初始化方法


浙公网安备 33010602011771号