草庐IT

Java Builder 生成器问题

在我的一个项目中,我有两个装满DTO的包,POJO只有getter和setter。虽然它们是简单的javabean很重要(例如,因为ApacheCXF使用它们来创建Web服务XSD等),但像这样编程也很糟糕且容易出错。Foofoo=newFoo();foo.setBar("baz");foo.setPhleem(123);returnfoo;我更喜欢流畅的接口(interface)和构建器对象,所以我使用maven/gmaven自动为DTO创建构建器。所以对于上面的代码,一个FooBuilder是自动生成的,我可以这样使用:Foofoo=newFooBuilder().bar("baz

java - 在 mapstruct 中使用构建器(使用不可变注释处理器)将对象映射到不可变对象(immutable对象)

我们正在使用immutablesframework生成所有DTO。现在我们想用mapstruct将这些对象映射到另一个对象。.但生成的DTO是不可变的,没有setter也没有构造函数,对应于构建器模式。它们仅通过静态builder()方法访问的相应构建器来填充。我们改为尝试将DTO1映射到DTO2.Builder,如果mapstruct能够识别Builder中的setter,这将起作用,但它们没有void返回类型,而是返回Builder本身以进行流畅的连接。下面是示例代码。我们有两个接口(interface)@Value.ImmutablepublicinterfaceMammalDt

java - builder 模式和持久化

我在项目的几个类中使用了构建器模式(多个参数,一些是必需的,一些是可选的,等等)。这些类是不可变的(没有setter,集合getter的深层复制)。我现在正尝试使用持久性框架将这些对象存储在数据库中,该框架使用默认构造函数+setter构造对象。它不太喜欢我的Builders!我不想将该设置降级为POJO并失去当前设计的优势(灵active、不变性、构造安全性)。我欢迎任何有关可在这种情况下使用的解决方法的反馈(我可以包装这些类中的每一个,但这会使类的数量增加一倍,我宁愿避免这种情况)。一个post实际上指出这是Builder模式的一个特定缺点。编辑一个answer建议使用私有(pri

Java BuilderTestPattern - 如何避免样板文件?

我的项目中有很多值对象。我正在使用项目lombok来消除一些样板文件,因此我的值对象如下所示:@Value@Accessors(fluent=true)publicclassValueObject{privatefinalStringfirstProp;privatefinalintsecondProp;}不错,几乎没有样板文件。现在,我在测试中经常使用全参数构造函数。它看起来很乱,所以我想我会介绍BuilderPattern变体:publicclassValueObjectBuilder{privatestaticfinalintDEFAULT_VALUE_FOR_SECOND_PR

java - 如何使用 JavaFX 中的 Scene Builder 将背景图像添加到 AnchorPane?

如何使用SceneBuilder将背景图像添加到AnchorPane?我试过:-fx-background-imageurl('C:/Users/Documents/page_background.gif')我如何在SceneBuilder中设置它.以及生成的FXML: 最佳答案 您可以尝试直接在SceneBuilder中将其设置为:-fx-background-image:url('file:C:/Users/Documents/page_background.gif')它需要指定方案/协议(protocol)。但建议的方法是在C

java - lombok @Builder 是否允许扩展

我有2个类:importlombok.Builder;@BuilderpublicclassBextendsA{}和importlombok.Builder;@BuilderpublicclassA{}在B上的@Builder上,我收到消息:ThereturntypeisincompatiblewithA.builder().这是lombok的限制吗?或者我做错了什么?如果我将@Builder关闭A,那么B上的Builder似乎不会考虑中的字段B的构造函数中的A。 最佳答案 最新的lombok版本1.18.2包括thenewexpe

java - 在实体上使用 lomboks @Data 和 @Builder

我正在使用以下内容:@Entity@Data@Builder@NoArgsConstructor(force=true)publicclassUser{privateStringid;privateStringfirstName;privateStringlastName;}我想要实现的目标:为了使用JPA,我需要一个带有noArgConstructor、getters/setters和equals/hashCode/toString的POJO。对于实例创建(例如在测试中)我想使用User.builder().build();问题:它无法编译,NoArgConstructor与Requ

java - 将 Java GUI Builder .form 文件转换为源代码?

我创建了一个相当丰富的JavaGUI应用程序,其中包含许多窗体窗口,其中设置被锁定在.form文件中。我想知道是否有任何方法可以将这些.form文件转换或重构为我可以修改的真实Java源代码?GUI是使用Netbeans6.5创建的。 最佳答案 我的理解是,“.form”文件仅供NetbeansGUI构建器用于跟踪GUI组件的位置。当您在设计View中添加组件时,Netbeans会自动更新实际的源(.java)文件。您可以直接修改这些.java文件,例如,更改按钮上的标签,但如果您在Netbeans中这样做,它将使用.form文件自

java - ImmutableList.builder() 错误?

我刚开始学习Guava,我注意到ImmutableList.builder()有一些特别之处.这不编译:ListiList=ImmutableList.builder().add("One").add("Two").build();//Typemismatch:cannotconvertfromListtoList这个有效:ListiList=newImmutableList.Builder().add("One").add("Two").build();我可以忍受使用newImmutableList.Builder()但这是ImmutableList.builder()的错误吗??

java - 1.3.7.发布 -> 1.4.1.发布 | java.lang.NoSuchMethodError : org. springframework.boot.builder.SpringApplicationBuilder.showBanner 错误

如果我切换到新版本的SpringBoot,我在启动应用程序时会得到上面的错误信息。这是为什么?最美好的祝愿史蒂文pom.xml4.0.0de.xyz.microservicespring-boot-test1.0-SNAPSHOTorg.springframework.bootspring-boot-starter-parent1.3.7.RELEASE1.4.1.RELEASEorg.springframework.bootspring-boot-starter-web堆栈跟踪:Exceptioninthread"main"java.lang.NoSuchMethodError:or