通常在定义 DAO 时,您将有一个用于 DAO 对象上的数据源的设置器。我的问题是我们的数据源会根据对服务器的请求而动态变化。即每个请求都可以访问不同的数据库实例。
该请求包含逻辑属性,稍后可用于检索与请求数据库的连接。
因此,当依赖注入 DAO 到业务逻辑对象时,我需要一种在运行时(而不是配置时)设置 DAO 属性的方法。
一种解决方案是将数据源存储在本地线程上,但我不太喜欢弄乱线程本地变量。
另一种选择是在业务逻辑对象上有一个初始化方法,该方法使用请求属性在 DAO 上调用初始化。
我想这是一个常见的问题,你能提出一个常见的解决方案吗?