spring中@resource的使用
时间: 2024-05-18 19:17:59 浏览: 73
在Spring中,@Resource是一种用于依赖注入的注解,与@Autowired类似。它能从容器中自动获取bean并注入到属性或方法中。
使用@Resource注解时,首先要启动Spring容器。启动容器后,会默认扫描容器范围内的可加载bean。然后会查找哪些bean上的属性和方法使用了@Resource注解。
如果@Resource注解中的name属性为空,会判断注解所在的变量属性名与容器中的bean的id是否相同,如果相同则匹配成功。如果不相同,则会判断bean的id对应的类型是否与注解所在的变量属性的类型相等,如果相等则匹配成功。如果不相等,则匹配失败。
如果@Resource注解中的name属性不为空,会将name属性值与容器中的bean的id进行比较,如果相等则匹配成功,如果不相等则匹配失败。
示例代码如下:
```java
@Component
public class Man {
@Resource(name="ps")
private Person person;
public void work(){
person.say();
System.out.println("------work()------");
}
}
```
在上述代码中,使用了@Resource注解来注入名为"ps"的Person类型的bean到Man类中的person属性中。
这样,在Spring启动过程中,如果成功将Person类型的bean注入到容器中,并且其id为"ps",那么在创建Man类的bean时,会成功将该bean注入到Man类的person属性中。
总结来说,@Resource注解用于在Spring中实现依赖注入,通过指定name属性来确定注入的bean,并将其注入到对应的属性或方法中。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文