@Resource和@Autowired区别和用处

发布时间 2023-10-21 16:46:05作者: 阿飞藏泪

@Autowired和@Resource都是用于依赖注入的注解,但是他们来自不同的“父类”,具有不同的基因。具体来说,@Autowired是Spring框架定义的注解,其功能主要通过Spring的IOC和AOP实现。而@Resource则是Java本身定义的注解,来自于JSR-250(Java 250 规范提案),需要JDK1.6及以上版本。

这两种注解在功能上有许多相似之处,如都可用于字段、构造函数和方法的参数上,以实现自动装配的目标。然而,尽管他们非常相似,但在使用选择上还是存在一些差异。如果希望使用Spring提供的依赖查找方式,那么@Autowired将是一个更好的选择;反之,如果希望使用Java自身的依赖查找方式,那么@Resource将会是更优的选择。