【问题标题】:How to inject a DAO objecct to another DAO class in Spring 3如何在 Spring 3 中将 DAO 对象注入另一个 DAO 类
【发布时间】:2013-03-16 05:28:00
【问题描述】:

在我的应用程序中,我使用的是 Spring3 MVC 框架。我有一个 DAO 类 TestDAO1.java,其中我需要一个方法 getArticleList(),它在 TestDAO2.java 类中声明。

据我所知,我们可以将服务层对象注入控制器,将 DAO 注入服务层。 但是我们可以将 DAO 对象注入到 DAO 类中吗?

这里我想将 TestDAO2 类对象注入到 TestDAO1.java 类中。所以我可以使用 getArticleList() 方法。我该怎么做?

将 DAO 注入 DAO 是正确的方式还是标准?

【问题讨论】:

    标签: spring


    【解决方案1】:

    这里我想将 TestDAO2 类对象注入到 TestDAO1.java 类中。所以我可以使用 getArticleList() 方法。我该怎么做?

    与将一个注入控制器的方式相同 - 例如使用@Autowired注解:

    public class TestDAO2 {
        @Autowired private TestDAO1 dao1;
        ....
    

    注入的对象是服务还是另一个 DAO 没有区别。

    将 DAO 注入 DAO 是正确的方式还是标准?

    一般:。这种情况表明可能在您的模型或 DAO 中存在一些设计问题。也许你的TestDAO1 做得太多了?尝试将此功能移动到一个使用两个 DAO 的服务中

    【讨论】:

    • +1 不仅解决了 OP 的问题,而且还深入思考了一个层次(关于可能的设计问题)。
    • @mantrid :感谢您的回复。 DAO 注入适用于 Autowired 注释。我同意我的应用程序存在一些设计问题,迫使我将 DAO 注入 DAO。但是出于代码可重用性的目的,我尝试使用在其他 DAO 中声明的功能。根据我的应用程序设计,对于“每个”实体,我正在创建一个包含 CRUD 方法的新 DAO 类。所以根据我的观点,这是数据库设计问题。我认为,我应该以更优化的方式创建数据库设计,以免发生此类情况。
    猜你喜欢
    • 2012-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多