Spring 里有不能把 dao 传给 pojo 这种规范吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Leviathann
V2EX    Java

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

  •  
  •   Leviathann May 21, 2021 via iPhone 2457 views
    This topic created in 1804 days ago, the information mentioned may be changed or developed.
    有个可以配置的 filter 对象包含 n 条判定规则,如果某条规则没配置就不用判定,其中某几条规则的判断需要 io,所以把几个 dao 包了个 pojo 传给这个 filter,做一个延迟加载。
    结果 reviewer 不给通过,说不能这么写。
    我说那怎么改,他说把 filter 自带的 test 方法写到 service 里。。这个 test 方法大概有几十行,把所有内部属性的判定函数都用&&连接起来。

    我想了下,把几个 dao 的调用都改成 lambda 传进去,多写了一堆 function supplier 之类的类型声明,然后就给通过了。。
    6 replies    2021-05-25 16:56:10 +08:00
    chendy
        1
    chendy  
       May 21, 2021
    没太看懂,但是吧
    spring 就一框架啥规范没有,问问 reviewer 啥意思吧
    Feiex
        2
    Feiex  
       May 21, 2021
    没有。

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

    用 function 感觉比较优雅了,filter 不需要太关心校验的细节
    young1lin
        3
    young1lin  
       May 22, 2021
    ServcieManager
    siweipancc
        4
    siweipancc  
       May 22, 2021 via iPhone
    这种属于非常规写法了,如果来个序列化,或者方法缓存,画面不要太美
    siweipancc
        5
    siweipancc  
       May 22, 2021 via iPhone
    可包装自身的 getBean 方法做懒加载,同步 map 的计算并得值方法可以一用。
    Leviathann
        6
    Leviathann  
    OP
       May 25, 2021
    @Feiex sry 我没说清楚,这个 filter 本身是一个 model,准确的说是一个 hibernate entity,因为里面一共有几十条判断条件,而且都是可空的,所以暴露了一个 test 方法对外使用
    About     Help     Advertise     Blog     API     FAQ     Solana     2669 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 15:55 PVG 23:55 LAX 08:55 JFK 11:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86