用于注入数据的
他们的作用就和在XML配置文件中bean标签中写一个<property>标签的作用是一样的
@Autowired:
作用:自动按照类型注入。只要容器中有唯一的一个bean对象类型和要注入的变量类型匹配,就可以注入成功
如果ioc容器中没有任何bean的类型和要注入的变量类型匹配,则报错。
如果有多个匹配:
先通过数据类型IAccountDao圈定出来匹配的几个对象
再通过变量名称作为bean的id accountDao查找和他一样的
都不一样就报错
出现位置:
可以使变量上,也可以是方法上
细节:
在使用注解注入时,set方法就不是必须的了。
@Qualifier:
作用:在按照类中注入的基础之上再按照名称注入。它在给类成员注入时不能单独使用。但是在给方法参数注入时可以
属性:
value:用于指定bean的id
@Resource
作用:直接按照bean的id注入。它可以独立使用
属性:
name:用于指定bean的id
以上三个注解都只能注入其他bean类型的数据,而基本类型和String类型无法使用上述注解实现
另外,集合类型的注入只能通过XML来实现
看个示例
此时accountDao为null会报空指针异常
我们这时候就可以用@Autowired
就可以顺利执行
如果有多个匹配:
此时就不知道选择谁了会报错
先通过数据类型IAccountDao圈定出来匹配的几个对象 再通过变量名称作为bean的id accountDao查找和他一样的 都不一样就报错
作用:在按照类中注入的基础之上再按照名称注入。
它在给类成员注入时不能单独使用。但是在给方法参数注入时可以
属性:
value:用于指定bean的id
觉得写两个注解麻烦还有这个注解
注意Resource是jdk自带的,得import javax.annotation.Resource
作用:直接按照bean的id注入。它可以独立使用
属性:
name:用于指定bean的id
顺利执行
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。