我想在我的脑海中澄清服务层的作用。我的应用程序有一个经典架构: 控制器=>服务=> DAO(JpaRepository)。
该服务执行我的业务逻辑,并使用@Transactional进行注释。
我们举一个简单的例子说我有两个实体:
公司可以有多个项目,项目可以在一个公司。假设每个实体都有一个控制器。 例如,如果我想获得一家公司的所有项目,我有两个选择。
最好的方法是什么?
提前感谢您的回答。
的Seb
答案 0 :(得分:0)
我不确定是否有最佳实践。我想选择第一个选项。原因是:
服务负责业务逻辑。您的要求是从Projects List
获得Company
,返回结果是{strong> List
中的Projects
。
然后ProductService
层只需要调用一个ProductDAO
,它仅负责Product
牢记这一点,当方法增加时,请记住:您希望得到什么作为返回结果?
Project
,所以你去ProjectService
Company
,所以你去CompanyService