Spring企业应用程序最佳实践

时间:2014-06-07 17:33:34

标签: spring rest soap architecture enterprise

在阅读了Gordon关于使用Spring Framework构建企业应用程序的最佳实践的文章后,我想分享一些关于服务层的想法。

我的架构完全代表戈登在此图片http://gordondickens.com/wordpress/wp-content/uploads/2012/07/Spring-App-Layers.png

中描述的内容

应用程序很复杂,业务规则繁重,需要在同一个用例中使用数据库,SOAP,REST和文件句柄等不同资源。

对于我上面描述的这个场景,我有一个Service类需要执行SOAP和REST请求并处理一些数据库数据。所以,我已经在我的Service类中自动装配了SOAP和REST组件以及用于处理数据库内容的Repository。

我担心这是否是处理我的服务与SOAP,REST,数据库等资源之间集成的最佳方法。

由于

2 个答案:

答案 0 :(得分:2)

  

所以,我已经在我的Service类中自动装配了SOAP和REST组件   以及用于处理数据库内容的Repository。

即使有效也会出现问题。

考虑层之间的依赖关系。服务层将依赖于Repository层(业务逻辑层将依赖于数据层)。传入请求的服务集成层(或服务通信层)将取决于服务层。但数据层不依赖于服务层。服务层也不依赖于入站服务调用层。

因此,从Service类中删除SOAP和REST组件。对于SOAP和REST组件,连接Service实例(即避免连接到服务的SOAP和REST组件,反向执行)。

这样,当你想支持另一个集成协议(比如说JMS)时,你不是通过修改你的服务来完成所有这些工作。

您的数据访问似乎没问题。我希望您的服务通过DAO访问存储库。

答案 1 :(得分:0)

  

所以,我已经在我的Service类中自动装配了SOAP和REST组件   以及用于处理数据库内容的Repository。

听起来不错。您正在使用依赖注入,这意味着它们可以轻松地进行测试或更改。