有一个 Java bean,它具有日期 setter / getter 。日期从数据库获取并设置在 bean 中。当我从 bean 获取日期时,我需要一个特定的演示文稿(yyyy-MM-dd
而不是 dd-MM-yyyy
)。
我想通过在 bean 的 getter 中编写这部分代码来简化 servlet 和相关类中的逻辑。
这是适当的做法吗?预先感谢您。
最佳答案
如果您 100% 确定始终需要以这种方式格式化的日期,则可以在映射数据库的 Bean 中按照您想要的方式对其进行格式化。
但是,您不应该这样做。
如果您正在寻找最佳实践,那么您应该记住,可重用代码不应依赖于实现,并且 getter 应该只检索数据。
这就是为什么我建议从 getter 返回 Date
,并将逻辑移到外部。
实际上,如果您不想重写代码并且始终使用相同的格式,我会建议这种解决方案:
YourMappingClass.java
...
public Date getDate() {
return this.date;
}
...
public String getFormattedDate() {
Date dateToFormat = this.getDate();
// format date here and return formatted date
}
...
通过这种方式,您可以保留 getter 的逻辑,同时在映射 bean 内提供可重用的方法,以免在其外部重复代码。
关于Java bean和方法实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24594997/