Spring 将DAO依赖注入到另一个DAO类中,这是一个好的实践吗?
我正在使用SpringMVC编写一个web应用程序(新闻发布)。我现在的情况是,我认为有必要在另一个DAO类中注入DAO依赖项。我的情况是: 从数据库检索文章列表时,我希望显示文章的作者姓名及其所属的类别名称。但是,我的数据库设计的模式是,文章实体只包含其作者和类别的id。例如,下面列出了2篇文章:Spring 将DAO依赖注入到另一个DAO类中,这是一个好的实践吗?,spring,model-view-controller,dependencies,code-injection,Spring,Model View Controller,Dependencies,Code Injection,我正在使用SpringMVC编写一个web应用程序(新闻发布)。我现在的情况是,我认为有必要在另一个DAO类中注入DAO依赖项。我的情况是: 从数据库检索文章列表时,我希望显示文章的作者姓名及其所属的类别名称。但是,我的数据库设计的模式是,文章实体只包含其作者和类别的id。例如,下面列出了2篇文章: **Article ID Title Author Category** 1 Test Title 1 2 4 2
**Article ID Title Author Category**
1 Test Title 1 2 4
2 Test Title 2 3 4
为了生成这个列表,我在ArticleDAO类中有一个名为“getAllArticles()”的方法。此外,我对文章实体有两个@Transient属性,它们是authorName和categoryName。我正在考虑通过注入CategoryDAO和AuthorDAO的依赖项来检索“getAllArticles()”中的authorName和categoryName。因此,我基本上可以做到以下几点:
for (Article article : articles)
{
article.setAuthorName(authorDao.getAuthorNameById(article.getAuthorId()));
article.setCategoryName(categoryDao.getCategoryNameById(article.getCategoryId()));
}
然后在我的模板中,我可以简单地循环浏览文章并打印出文章的作者姓名和类别名称
然而,在对我的DAO类进行更改之前,我想确认将DAO依赖注入另一个DAO类是否是一个好的实践。谢谢你的回复。为什么你还需要另一把刀呢?为什么不简单地修改查询以连接其他表以访问所需的数据?如果不是,您可能会遇到1+N(1个查询以获取每篇文章的文章并获取作者)选择问题。可以看出,我缺少SQL:)