Fab*_* B. 27 java service spring
我的Web应用程序是使用Spring MVC + Hibernate编写的.
我看到很多应用程序遵循这个(最好的)练习,但我想知道为什么我需要一个服务层.
也许它对于解耦目的很有用:我可以向控制器显示通用外观并注入服务HibernateDAO,GaeDAO,MyDAO等等......但是我也可以在没有服务的情况下做到这一点:使用接口.
我也考虑过:验证.我将在服务中进行客户验证,但是......在Spring控制器中进行验证会更加方便.
请帮我理解这个概念:)
Joh*_*erg 22
您不需要 服务层.但它可以帮助你
class Service {
private DatabaseBarRepo barRepo;
private DatabaseFooRepo fooRepo;
@Transactional
public void serviceRoutine() {
barRepo.doStuff();
fooRepo.doStuff();
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,我们让两个独立的存储库参与同一个事务.这是特定于数据库的,尽管这些原则对其他系统也是有效的.
JB *_*zet 21
关键是交易行为.如果您没有服务层,您将在哪里划分交易?
此外,您希望UI层尽可能简单,并且特定组件中隔离的业务代码(有时比调用DAO方法要复杂得多).这允许
您可以通过具有BaseService包含所有CRUD操作的一个来保存详细程度,委托给其中注入的BaseDAO.
除了CRUD之外,几乎所有其他东西都具有业务逻辑和数据库特定操作的独立逻辑.另一件事 - 您可以通过使用注释服务层方法来使事务跨越多个数据库操作@Transactional
| 归档时间: |
|
| 查看次数: |
8372 次 |
| 最近记录: |