我有一个使用Spring的项目,并分解为几十个DAO和相关的DTO.我正在使用JdbcTemplate,但没有其他,因为它正是我很满意的抽象级别.
我目前正在我的DTO上执行延迟加载,在其getter中放置一些相当毛茸茸的代码.
基本样板逻辑是:1.如果field不为null,则返回其值并退出2.联系相应的DAO并获取相关的DTO 3.将它们存储到下一次.
它工作正常,除了我的低DTO与一大堆DAO耦合,并不是那么POJOey.
如果我将逻辑放在DAO中会出现另一个代码气味,因为它将为其DTO和延迟加载处理CRUD,并且据我所知它对象应该只有一个责任.
我希望有一个相对简单的Spring方法,我可以使用它在DAO和DTO之间注入一个Lazy Loader对象来实现这一点,但任何其他解决方案都适用于我.
有任何想法吗?