@Autowired和@Resource注解区别
下文笔者将讲述spring开发中@Autowired和@Resource注解区别,如下所示
autowired和resource简介
@Autowired是Spring中的注解 import org.springframework.beans.factory.annotation.Autowired; @Resource是java提供的注解 import javax.annotation.Resource; 都可以实现自动装配
@Autowired和@Resource注解两者区别
@Autowired: 会先按byType去找 当没找到,则会按照byName去找 @Resource会先按byName去找 当没找到则会byType去找 当设置name属性,则只会按byName去找,找不到就报错例:
@Resource(name = "userServiceImpl") private StudentService studentService;
Autowired、Resource使用场景
Autowired 效率低下,先按类型查找,再按名字查找 Resource 按名字查找,后面要跟参数name 好处:当有多个Impl实现类时,可以通name快速找到 当只有一个Impl实类的时候,两者使用差不多 >=2的时候,最好用@Resource,比@Autowired@Qualifier()效率高
@Autowired:先byType再byName @Resource:先byName再byType(当指定@Resource name属性时,只会byName) 效率上Resource更高。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。