草庐IT

Javabeans

全部标签

java - Java 中 getter 的命名约定有多重要?

我非常相信一致性,因此也相信惯例。但是,我目前正在开发一个Java框架,其中这些约定(特别是get/set前缀约定)似乎妨碍了可读性。例如,某些类将具有id和name属性,并使用o.getId()而不是o.id()似乎完全没有意义,原因有很多:类是不可变的,因此(通常)不会有相应的setter,不会混淆,get在这种情况下不传达额外的语义,并且我在整个图书馆中始终如一地使用这种get-less命名模式。我从JavaCollection类(以及JavaPlatform库中的其他类)那里得到了一些保证,它们也违反了JavaBean约定(例如,它们使用size而不是getSize等)。为了解

java - 如何使用反射或任何其他实用程序完全打印 Java Bean

我有一个包含3个变量的Javabean类Person:姓名(字符串)年龄(字符串)地址(对象)。Address包含3个变量:街道door_no城市我想要一个实用程序来打印Person中的所有变量。我的意思是它应该打印Person以及其中包含的Address对象。我可以创建一个hashmap并在JSP中使用反射和打印键/值UI来放置变量名和值,但问题是我必须为Address应用反射以在HashMap。是否有可用的实用程序来执行此操作? 最佳答案 你可以使用ToStringBuilder来自ApacheCommons.来自文档:Atyp

java - 碧 Jade 报告 : How to call a java bean method in report template?

我正在将javabean集合传递到jasper报告中。我为这个javabean定义了几个字段,它们在我的报告中显示得很好。我想知道是否有一种方法可以调用传递到此报告中的javabean的方法???例如文本字段的表达式,例如......{currentjavabean}.methodToCall() 最佳答案 在字段名称或描述中使用关键字_THIS将使其映射到bean类本身。使用fieldDescription标记更好,因为它允许您对多个bean执行此操作。例如:_THIS然后你可以像这样在表达式中调用方法:$F{customBean

java - Java Bean 作为数据存储类是糟糕的设计吗?

通常JavaPractices.com是一个有好主意的好网站,但这个网站让我很困扰:JavaBeansarebad.文章列举了几个原因,主要是JavaBean一词的意思是“JavaBean是一种可重用的软件组件,可以在构建工具中进行可视化操作”。不是数据存储,违反了某些模式,而且更复杂。现在我可以同意最后一个,但在我看来,列表中的JavaBeans比嵌套的Maps更有意义。文章声称数据库映射框架应该调用构造函数,而不是set*方法,并且对象应该是不可变的。然而,在我看来,尝试构建对象时调用set*方法比newMappedObject("column1","column2","yetan

java - 无法 Autowiring 。找不到 SimpMessagingTemplate 类型的 bean

我基本上是按照文档中提供的指南在Spring中配置Websockets。我目前正在尝试按照“Sendingmessagesfromanywhere”部分中的说明从服务器向客户端发送消息按照示例,您可以Autowiring一个名为SimpMessagingTemplate的类@ControllerpublicclassGreetingController{privateSimpMessagingTemplatetemplate;@AutowiredpublicGreetingController(SimpMessagingTemplatetemplate){this.template=t

java - 断言两个 java bean 是等价的

Thisquestion很接近,但仍然不是我想要的。我想以一种通用的方式断言两个bean对象是等价的。如果不是,我想要一条详细的错误消息来解释差异,而不是boolean值“等于”或“不等于”。 最佳答案 importstaticorg.hamcrest.beans.SamePropertyValuesAs.samePropertyValuesAs;importstaticorg.junit.Assert.assertThat;@TestpublicvoidbeansAreTheSame(){MyDomianClassbean1=ne

java - 通过反射获取bean属性getter或setter?

假设我有一个类型为的对象的句柄,配置告诉我它有一个int类型的bean属性,名称为age。如何检索此文档的setter/getter?有没有比在age中添加“get”并将“a”大写,并通过反射寻找该名称的方法更好的方法? 最佳答案 看看java.beans.Introspector.此类允许您获取类的属性列表。如果您知道属性名称,您可以调用Methodgetter=newPropertyDescriptor(propertyName,beanClass).getReadMethod();另请参阅:java.beans.Propert

java - JGoodies 绑定(bind)与 JSR 295

JGoodiesBinding和JSR295BeansBinding之间的实际区别是什么?他们似乎都出于相同的目的并完成了他们的工作(方法略有不同)。JGoodiesBinding更成熟,但JSR295最终成为Java7中JDK的一部分。对于相同的功能,使用JDK的标准部分肯定比使用单独的库更好,但是还有其他因素需要考虑吗?还有其他选择吗?在这些之间进行选择是非常不可逆转的架构决策... 最佳答案 只需使用JGoodies,因为它成熟且有效。肯定有来自JGoodies框架的想法被合并到JSR中,但由于目前还没有,选择是有限的。目前的

java - Model、javabean、POJO的区别

我开始用spring学习MVC。我听过很多次Bean,它包含setter和getter。Model基本上是数据流动的对象,而Pojo与Bean相同。但我真的对这个术语感到困惑,所有这些对我来说都是一样的,你能解释一下它们之间的确切区别吗?JavaBEANPOJO型号 最佳答案 如果您使用的是MVC架构,那么模型代表您的领域:表示您的实体,它不是与Java相关的术语。您的模型在Java中表示为JavaBeans(JavaEE中的最佳实践)。JavaBean是一个普通的Java类,它实现了Serializable接口(interface

java - bean 有什么讲究?

我一直在学习一些JSP教程,但我不明白bean类的意义是什么。它就是get和set方法。我们为什么要使用它们?publicclassUserData{Stringusername;Stringemail;intage;publicvoidsetUsername(Stringvalue){username=value;}publicvoidsetEmail(Stringvalue){email=value;}publicvoidsetAge(intvalue){age=value;}publicStringgetUsername(){returnusername;}publicStrin