[英]In JSP/Java how can I replace getter/setter by s.th. more generic?
我一直在豆子里添加大量的吸气剂/装料器,这让我感到厌倦。 有没有简单的方法可以使用注释来摆脱这项愚蠢的工作? 或其他方式? 第二个示例是简短的版本,我想运行它,因为不需要封装我的成员(尽管在其他情况下可能是必须的)。 在我的现实世界中,我必须访问大约15个类,每个类中有大约10个数据成员,这将产生300个无用的setter / getter。
示例TestPerson.java(有效):
public class TestPerson {
public String firstName;
public String lastName;
public TestPerson() {
firstName = "Hugo";
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
示例TestPerson.java(无效):
public class TestPerson {
public String firstName;
public String lastName;
public TestPerson() {
firstName = "Hugo";
}
}
示例test.jsp
<jsp:useBean id="testperson" class="test.TestPerson" scope="request" />
<html>
<head><title>Test</title></head>
<body>
<h2>Results</h2>${testperson.firstName}<br>
</body>
</html>
只需让您的IDE自动生成它们即可。 例如,在Eclipse中,定义一些属性,右键单击source,选择Source ,然后选择Generate Getters和Setters 。
您是否考虑过使用Groovy脚本语言? 它基于Java并生成Java字节码。
请参阅以下链接: http ://groovy.codehaus.org/Groovy+Beans隐式获取器和设置器。
还有scala:
class foo {
@BeanProperty
var s1 : String,
@BeanProperty
var i1 : int
}
您可以使用scala编译器生成Java字节代码,该代码将创建此类,适当的私有字段以及getter和setter方法。
但是,假设您要坚持使用纯Java,我怀疑Java很快就会看到对一流属性的支持。 最好的选择是某种代码生成。 尽管通过注释和注释处理程序可能会产生日食拟合,但也有可能生成这些注释。 编辑:这就是龙目岛(如上所述)正在做的事情。 它会在编译时根据注释为您生成源代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.