zoukankan      html  css  js  c++  java
  • idea 自动注入@Autowired 警告 Field injection is not recommended 关闭

    在使用 spring 框架中的依赖注入注解@Autowired时,idea报了一个警告 Field injection is not recommended

    1,意思,字段的方式注入是不被推荐的

    2,在了解具体原因之前,我们应该先明确 Spring 框架下的三种注入方式

    1,字段注入,最简单明了,也是被警告的方式

        @Autowired
        TestMapper testMapper;
    

    2,构造器注入

        final
        TestMapper testMapper;
    
        @Autowired
        public UserServiceImpl(TestMapper testMapper) {
            this.testMapper = testMapper;
        }
    

    3,SET 方法注入

        private TestMapper testMapper;
    
        @Autowired
        public void setTestMapper (TestMapper testMapper) {
            this.testMapper = testMapper;
        }
    

    3,原因,优缺点分析

    1,优点

    变量方式注入非常简洁,没有任何多余代码,非常有效的提高了java的简洁性。即使再多几个依赖一样能解决掉这个问题

    2,缺点

    不能有效的指明依赖。相信很多人都遇见过一个bug,依赖注入的对象为null,在启动依赖容器时遇到这个问题都是配置的依赖注入少了一个注解什么的,
    然而这种方式就过于依赖注入容器了,当没有启动整个依赖容器时,这个类就不能运转,在反射时无法提供这个类需要的依赖

    3,基于以上问题,官方已经不推荐使用 字段注入,但是对于已经习惯使用字段注入又有强迫症的我们,每次看到那个警告,就很难受,那我们怎么关闭它呢?

    4,关闭提示 File >> Setting 去掉下面方框的勾选

  • 相关阅读:
    mybatis 乐观锁和逻辑删除
    JAVA实现DES加密实现详解
    axios 全攻略之基本介绍与使用(GET 与 POST)
    Ajax json 数据格式
    CentOS 7安装Hadoop 3.0.0
    <p>1、查询端口号占用,根据端口查看进程信息</p>
    CentOS查询端口占用和清除端口占用的程序
    Spring Boot Maven 打包可执行Jar文件!
    linux下运行jar
    maven 工程mybatis自动生成实体类
  • 原文地址:https://www.cnblogs.com/lovling/p/12492320.html
Copyright © 2011-2022 走看看