Spring 里有不能把 dao 传给 pojo 这种规范吗

2021-05-21 19:26:14 +08:00
 Leviathann
有个可以配置的 filter 对象包含 n 条判定规则,如果某条规则没配置就不用判定,其中某几条规则的判断需要 io,所以把几个 dao 包了个 pojo 传给这个 filter,做一个延迟加载。
结果 reviewer 不给通过,说不能这么写。
我说那怎么改,他说把 filter 自带的 test 方法写到 service 里。。这个 test 方法大概有几十行,把所有内部属性的判定函数都用&&连接起来。

我想了下,把几个 dao 的调用都改成 lambda 传进去,多写了一堆 function supplier 之类的类型声明,然后就给通过了。。
1948 次点击
所在节点    Java
6 条回复
chendy
2021-05-21 19:56:33 +08:00
没太看懂,但是吧
spring 就一框架啥规范没有,问问 reviewer 啥意思吧
Feiex
2021-05-21 20:42:48 +08:00
没有。

不过为什么最开始不把 dao 作为依赖声明在 filter 里呢???

用 function 感觉比较优雅了,filter 不需要太关心校验的细节
young1lin
2021-05-22 10:48:01 +08:00
ServcieManager
siweipancc
2021-05-22 17:43:25 +08:00
这种属于非常规写法了,如果来个序列化,或者方法缓存,画面不要太美
siweipancc
2021-05-22 17:47:48 +08:00
可包装自身的 getBean 方法做懒加载,同步 map 的计算并得值方法可以一用。
Leviathann
2021-05-25 16:56:10 +08:00
@Feiex sry 我没说清楚,这个 filter 本身是一个 model,准确的说是一个 hibernate entity,因为里面一共有几十条判断条件,而且都是可空的,所以暴露了一个 test 方法对外使用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/778432

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX