gpt4 book ai didi

java - 使用 spring ioc 可交换数据层

转载 作者:行者123 更新时间:2023-12-02 14:37:19 25 4
gpt4 key购买 nike

我为每个表都有 DAO,它们都实现了一个接口(interface)。

现在我希望能够(可能)交换数据库层实现。

所以我的策略是创建一个 DaoFactory,这个 DaoFactory 将特定于我的 DAO 的特定实现。

所以我将使用 DAO 进行 hibernate 。然后 DaoHibernateFactory 看起来像:

public class DaoHibernateFactory implements DaoFactory
{


public UserDao GetUserDao() {

return new UserHibernateDao();
}


}

然后在我的所有管理器/服务类中,我将使用当前通过 spring ioc 连接的 Dao___Factory。

这有道理吗?有建议吗?

最佳答案

我将为每个实现提供单独的配置文件,而不是使用工厂。这样 Spring 就可以为您注入(inject) DAO,而您无需调用或维护额外的工厂类。

例如:

hibernate-data.xml:

<bean id="userDAO" class="com.foo.dao.hibernate.HibernateUserDao">
...
</bean>

ibatis-data.xml:

<bean id="userDAO" class="com.foo.dao.ibatis.IBatisUserDao">
...
</bean>

等等

然后,您可以通过更改 web.xml 中包含的 -data 文件来交换实现。

关于java - 使用 spring ioc 可交换数据层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3260162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com