使用大量的getter和setter有效地填充POJO

时间:2011-03-23 12:22:59

标签: java refactoring properties getter-setter

我有一个POJO代表我的应用程序的所有属性。它包含大量的字符串整数和布尔值(类变量及其getter / setter)。

问题是每次添加新属性时,我都要添加变量,getter,setter,设置它的代码加载属性文件以及使用getter的代码。

我的想法是将其重构为getString(String stringToGet)getIntgetBoolean方法,从3个哈希映射中提取。这样做的问题是我不能再使用EL来获取属性,例如。 ${Properties.telephoneNumber}

任何人都有其他想法吗?

3 个答案:

答案 0 :(得分:3)

如果你有一个课程,你绝对相信你将为每个变量设置/设置,我只会公开变量。通常不这样做的原因是,您可能希望更改实现或更改变量名称或类似的东西。如果你知道它不会发生,我会继续改变对公众的访问权。

另外,如果你正在使用Eclipse(可能是其他IDE,但我不熟悉它们),它可以自动为你创建get / set方法,所以这不应该是麻烦。

我不会使用您建议的解决方案。它会消除自动完成的便利性,当有很多方法/变量时,尤其需要它。

答案 1 :(得分:3)

从JSF 2.0开始,您可以使用EL中的参数调用方法:

#{properties.getString('telephoneNumber')}

答案 2 :(得分:1)

使用您的IDE生成所有这些setter和getter。