我一直想知道bean应该如何访问自己的属性。
是否必须始终使用 getters 和 setters ,即this.getAttribute1()
和this.setAttribute1()
或者在没有其他处理时是否必须直接使用this.attribute1
访问它?
处理JPA时最好的做法是什么?
答案 0 :(得分:4)
理论上,即使在课堂内也最好使用getter / setter。这样做的原因是你可以(最初或稍后)为它们添加功能(例如在getter中延迟加载)。
总的来说它并不重要,因为你可以更新本地对getter的引用,但是最好直接去getter,除非你有非特定的理由不这样做。
答案 1 :(得分:0)
从技术上讲,我们不需要使用bean自己的getter和setter方法来访问它的属性,因为这些属性对于对象本身是可见的,但我建议你使用你的getter和setter来练习封装。
答案 2 :(得分:0)
我认为在同一个类中访问属性没有太大区别。在同一类中定义的属性可以被访问,而不管其范围(私有,公共,受保护)。当继承适用时,重要的是如何访问父属性?使用getter /直接使用变量
JPA还有另一个案例。
总是建议在变量中使用getter,同时在同一个bean类中使用它们。特别是使用Hibernate - JPA combo。
样品
@Override
public boolean equals(Object obj) {
...........
X other = (X) obj;
if (name == null) {
if (other.getName() != null)
return false;
} else if (!name.equals(other.getName()))
return false;
return true;
}
在equals中,其他实例也是同一个类 - 我们仍然需要使用哪个被很好地解释here。
答案 3 :(得分:0)
实际上,Bean是一个没有参数化构造函数的类,并且属性由getter和setter提供 e.g
public class Bean
{
int x;
setX(int x)
{
this.x=x;
}
getX()
{
return this.x;
}
现在使用这个bean类,当你访问属性是JSF或JSP时,它就像#{bean.x},这意味着它获取了属性的值。 原因是它会自动将get和set设置为