静态属性注入非单例对象及应用

来源:互联网 发布:投标施工组织设计软件 编辑:程序博客网 时间:2024/05/14 15:46

有这样一个需求,考虑一个这个类:


其功能是,对外提供一个随机且有时效的随机串。调用者或任何外部不清楚时效性几何,只需要调用 expired 方法即可知道是否过期。

时效性通过问号处的一个变量控制,此变量希望配置在文件中。

问题来了,当这个类不是一个单例,而是对于每个登录的用户都有一个这样的对象,该类如何设计才能达到目的且满足封闭性?

即言之,? 处的变量不能通过注入的方式引入。如何解决这个问题呢?有个思路。

第一个是,利用 spring 装配非单例的对象,参数可以注入。

第二个是,自己写一个 Bean 工厂,在工厂中注入变量,然后利用此值在需要的时候产生 RandomFactor 对象。

最后一个也就是本文的方法,参见以下代码。个中缘由,细思之。



0 0
原创粉丝点击