@Setter(onMethod = @ | 您所在的位置:网站首页 › java找不到符号是什么意思 › @Setter(onMethod = @ |
这是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 实验室设备网 版权所有 |