首页 专题 文章 代码 归档
其他两个自动装配的注解
2020.01.24 13:58 2020.01.24 13:58

自动装配

自动装配的注解有三个:

  • @AutoWired
  • @Resource
  • @Inject

区别

@AutoWired (强大)

@Autowired为Spring提供的注解,需要导入包org.springframework.beans.factory.annotation.Autowired。

@Autowired采取的策略为按照类型注入。


@AutoWired由Spring提供,故只能在Spring环境下使用

注意:

有以下类:

public class UserService {
    @Autowired
    private UserDao userDao; 
}

如上代码所示,这样装配回去spring容器中找到类型为UserDao的类,然后将其注入进来。

这样会产生一个问题:当一个类型有多个bean值的时候,会造成无法选择具体注入哪一个的情况,这个时候我们需要配合着@Qualifier使用。

public class UserService {
    @Autowired
    @Qualifier(name="userDao1")    
    private UserDao userDao; 
}

@Resource (一般)

@Resource注解由J2EE提供,需要导入包javax.annotation.Resource

@Resource默认按照byName自动注入


@Resource由java提供,扩展性更强,切换成另一个容器框架,@Resource依然会被认识!

@Inject

EJB开发环境下,不用深究。

本节阅读完毕! (分享
二维码图片 扫描关注我们哟