@Setter(onMethod = @ 您所在的位置:网站首页 java找不到符号是什么意思 @Setter(onMethod = @

@Setter(onMethod = @

2024-07-15 10:42| 来源: 网络整理| 查看: 265

这是Lombok的实验性质的语法,以后可能会deprecate掉。

@Setter都知道就是lombok帮你生成setter方法,那里面的onMethod是什么意思呢?就是让lombok在生成setter方法时,在这个setter方法上进行annotate,annotation就是@Inject

@Setter(onMethod = @__(@Inject)) 

private String name;

 

就会变成:

@Inject

public void setName(String name) {

  this.name = name;

}

 

再进一步,如果是这样呢?

@Setter(onMethod = @__(@Inject), onParam = @__(@Named("ZhcName")) 

就变成了这样:

@Inject

public void setName(@Named("ZhcName") String name) {

  this.name = name;

}

 

好了,就是这么简单。

关于为什么需要@Named,是因为你可能需要实例化好几个相同类型的object,这样容器可能不知道到底是哪个,所以不能单单依靠type能决定,所以需要起一个名字来唯一决定是哪个object。

 

Ref: 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有