注解的相关介绍(未完待续)

69 阅读1分钟

1. @Resource和@Autowired有什么区别?

  1. 来源不同

    @Resource是Jave EE(Java Platform, Enterprise Edition)规范定义的注解,位于javax.annotation包中,不仅可以用于Spring环境,还可以用于其他Java EE容器。

    @Autowired是Spring框架定义的注解,位于org.springframework.beans.factory.annotation包中,主要用于Spring环境中

  2. 注入方式不同

    @Resource默认按名称注入,如果在Spring容器找不到对应名称的Bean,则按照byType进行注入。

    @Autowired默认按照byType的方式进行注入。如果有多个类型相同的Bean,可以结合@Qualifier使用指定具体的Bean名称。

  3. 代码示例

    //使用@Resource
    @Resource(name = "myBean") //这里如果不写name的值,默认就是变量名
    private MyBean myBean;
    
    //使用@Autowired
    @Autowired
    @Qualifier("myBean")
    private MyBean myBean;