我有一个action类,它大约有30个变量。这些字段的Getters和setter方法弄乱了我的代码,并添加了不必要的行。有没有办法反映所有的Struts域并使它们对private“可见”?
发布于 2014-12-03 19:23:29
对我来说,这听起来是错误的方法。
在Java的面向对象和封装概念中,Getters和setter是非常基础的。如果你不喜欢编写getter和setter,可以使用像Lombok (http://projectlombok.org/index.html)这样的框架,也可以选择不同的语言,比如Gradle。
大多数(如果不是全部) Java代码都使用它们,所以您认为它们搞乱了代码的看法可能有点错误。一个好的IDE应该可以帮助你解决这个问题。
哦,反射增加了大量的性能开销,并且完全不意味着对私有成员的短路访问。
发布于 2014-12-03 23:15:12
你实际上不需要getter和setter来让OGNL工作。但不要这么做。
如果你关心的是一个更大的类的“开销”,那么创建一个封装视图状态的对象,并只公开它。您也可以通过ModelDriven接口完成此操作;一些注意事项适用。
在Java中,Getters和setter是很常见的方法。习惯它吧。使用可以自动折叠简单getXxx/setXxx方法的集成开发环境。开始使用presenter模式来封装视图状态,并将它们用作web和业务域对象之间的转换层。
https://stackoverflow.com/questions/27261630
复制相似问题