美文网首页
@Autowired idea 警告

@Autowired idea 警告

作者: 秋元_92a3 | 来源:发表于2022-02-15 16:12 被阅读0次

告警

idea报错的弹框信息,翻译过来就是“不建议使用字段注入方式”;
那么不使用字段注入,使用什么方式来代替呢,什么叫字段注入。

直白的讲,注解作用在字段上,就叫字段注入,除了字段注入,还有setter注入,构造方法注入。
面对后两者,idea都不会开出黄牌。

@Slf4j
@Service
public class DataSetServiceImpl implements IDataSetService {

  /**
   * 字段注入(idea告警)
   */
  @Autowired
  private MongoTemplate mongoTemplate;

  /**
   * 构造方法注入
   */
  @Autowired
  public DataSetServiceImpl (MongoTemplate mongoTemplate) {
    this.mongoTemplate = mongoTemplate;
  }

  /**
   * setter注入
   */
  @Autowired
  public void setMongoTemplate (MongoTemplate mongoTemplate) {
    this.mongoTemplate = mongoTemplate;
  }

}

原因(字段注入缺点)

1、对于final变量不起作用
2、隐藏依赖关系,易导致循环依赖而不自知,
3、注入时机后置,风险增大,字段注入是业务执行的时候注入,构造器或者setter是启动服务的时候注入

相关文章

网友评论

      本文标题:@Autowired idea 警告

      本文链接:https://www.haomeiwen.com/subject/etjecrtx.html