使用BeanPostProcessor实现处理类选择

开发中常遇到类似处理需依不同场景选不同处理类,如报表生成。实现方式为:建含获取code和处理报表数据方法的处理接口;多个对应不同报表的处理接口实现类;含获取处理类方法的选择器接口;实现选择器和BeanPostProcessor接口的选择器实现类,将处理器类存于Map。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在开发中经常遇到同一类似的处理,这一族类似的处理会根据不同的场景选择不同的处理类。例如,在报表生成中,需要生成交易明细日报,清算明细日报,挂账日报,积分月报等,这一族报表的处理都是类似的,也就是从数据库中获取数据,并按照报表格式导出即可。

    实现方式:

    1. 建一个处理接口,该接口包含一个获取code的方法,该code是处理类的标识,具有唯一性;一个处理方法,该方法处理报表数据,以建立报表。

    

2. 多个处理接口实现类,一个类对应一个报表。

3. 一个选择器接口,该接口包含一个获取处理类的方法,该方法通过传入code来获取处理器。

4. 一个选择器实现类,该实现类实现选择器接口和BeanPostProcessor接口,在实现BeanPostProcessor接口中,通过将实现了处理器接口的所有类加入到一个Map中进行保存,Map的key为处理器类的code,所以可以通过code来获取对应的处理器。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值