classFoo{@Setter@AutowiredprivateBarbar;}Spring将在这里使用字段注入(inject)。目前有没有办法告诉它使用setter注入(inject)? 最佳答案 我不知道在Spring中是否有办法做到这一点,但您可以尝试使用http://projectlombok.org/features/experimental/onX.html所以会是这样的classFoo{@Setter(onMethod=@__({@Autowired}))privateBarbar;}不幸的是,它很丑......另外
classFoo{@Setter@AutowiredprivateBarbar;}Spring将在这里使用字段注入(inject)。目前有没有办法告诉它使用setter注入(inject)? 最佳答案 我不知道在Spring中是否有办法做到这一点,但您可以尝试使用http://projectlombok.org/features/experimental/onX.html所以会是这样的classFoo{@Setter(onMethod=@__({@Autowired}))privateBarbar;}不幸的是,它很丑......另外
我有一个名为Address的类(class)看起来像这样:@ValueclassAddress{@NotNullStringuserId;@NotNullStringline1;Stringline2;privateAddress(Builderb){//copyeverythingfrombuilder}//overridegetterforline2sothatitreturnsOptionalpublicOptionalgetLine2(){returnOptional.ofNullable(this.line2);}//andaBuilderpublicstaticclassB
谁能给我解释一下使用lombok@Builder创建对象而不是构造函数调用的优势?MyObjecto1=MyObject.builder().id(1).name("name").build();MyObjecto2=newMyObject(1,"name")这只是提高知名度的问题吗? 最佳答案 考虑:Orderorder=newOrder("Alan","Smith",2,6,"Susan","Smith");参数是什么意思?我们必须查看构造函数规范才能找到答案。现在有一个构建器:Orderorder=Order.builder(
当我在使用Kapt3时尝试使用Lombok运行Java/Kotlinandroid应用程序时:applyplugin:'kotlin-kapt'javac编译失败,出现大量错误error:cannotfindsymbol对于生成的方法。可能是kapt无法生成stubs造成的:'kapt.generateStubs'isnotusedbythe'kotlin-kapt'plugin上述所有内容迫使我在可以使用的地方使用较旧的kapt:compileOnly"org.projectlombok:lombok:$lombokVer"annotationProcessor"org.projec
我想知道我在AndroidStudio3.0Beta2的Lombok设置中做错了什么?这就是我的Gradle构建文件的样子:buildscript{repositories{mavenCentral()jcenter()maven{url"https://plugins.gradle.org/m2/"}}dependencies{classpath"io.franzbecker:gradle-lombok:1.10"classpath'com.android.tools.build:gradle:2.3.3'}}allprojects{applyplugin:"eclipse"appl
帮助我在AndroidStudio中的build.gradle中设置comile依赖项。我的意思是它们不包含在最终的APK中。这个build.gradle工作正常,但我不需要lombok运行时apk中的库;applyplugin:'android'android{compileSdkVersion19buildToolsVersion"19.0.0"defaultConfig{minSdkVersion10targetSdkVersion16versionCode1versionName"1.0"}buildTypes{release{runProguardfalseproguardF
使用Kotlin1.0.0版本(在IntelliJ15中编译)。println(myPojoInstance.foo)当它试图编译引用基于Lombok的POJO的代码(在IntelliJ或Gradle中)时,它会给出错误“无法访问'foo':它在“MyPojo”中是'private'。这是真的,它们都是私有(private)的并且我的对象具有用于lombok注释的@Value@Builder。我已经尝试专门调用getFoo(),但它显示“未解析的getFoo引用”。也许有一些技巧可以让Kotlin知道如何处理lombok注释? 最佳答案
使用Kotlin1.0.0版本(在IntelliJ15中编译)。println(myPojoInstance.foo)当它试图编译引用基于Lombok的POJO的代码(在IntelliJ或Gradle中)时,它会给出错误“无法访问'foo':它在“MyPojo”中是'private'。这是真的,它们都是私有(private)的并且我的对象具有用于lombok注释的@Value@Builder。我已经尝试专门调用getFoo(),但它显示“未解析的getFoo引用”。也许有一些技巧可以让Kotlin知道如何处理lombok注释? 最佳答案
首先要感谢Lombok,我们的Java代码现在更加简洁明了。我的用例是我想创建一个不可变的类。为此,我会使用@Value注释。我还想使用构建器功能,为此我会使用@Builder注释。我的问题是我们是否可以在一个类上同时使用@Builder和@Value。这是Lombok用户/开发人员推荐的好做法吗? 最佳答案 当然可以。要检查,只需delombok您的代码并查看它生成的内容。举个例子:@Builder@ValuepublicclassPair{privateObjectleft;privateObjectright;}在delomb