为什么Spring和IDEA都不推荐使用@Autowired注解呢?

欣喜 Spring 发布时间:2024-02-06 16:16:52 阅读数:14196 1
下文笔者讲述Spring和IDEA不推荐使用@Autowired注解的简介说明,如下所示
Spring依赖注入注解@Autowired后会出现如下警告
     Field injection is not recommended (字段注入是不被推荐的)

    但是使用@Resource却不会出现此提示
      Spring常见DI方式
        构造器注入:使用构造方法的参数注入依赖
        Setter注入:调用Setter的方法注入依赖
        字段注入:在字段上使用@Autowired/Resource注解

@Autowired与@Resource

 
 @Autowired是Spring定义的,
 @Resource是JSR-250定义
     大致功能相同
 
@Autowired与@Resource区别:
     依赖识别方式:@Autowired默认是byType可以使用@Qualifier指定Name,
       @Resource默认ByName如果找不到则ByType
     
     适用对象:@Autowired可以对构造器、方法、参数、字段使用,
         @Resource只能对方法、字段使用

     提供方:
         @Autowired是Spring提供
         @Resource是JSR-250提供的

不推荐使用@Autowired注解的缘由

@Autowired是Spring提供
     它是特定IoC提供的特定注解
     导致应用与框架的强绑定
      一旦换用了其他的IoC框架,是不能够支持注入**的。

     @Resource是JSR-250提供
        是Java标准
        使用IoC容器应当去兼容它
        这样即使更换容器
        也可以正常工作
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Spring/202402/7927.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者