在阅读了Gordon关于使用Spring框架构建企业应用程序的最佳实践的文章之后,我想分享一些关于服务层的想法。
我的架构正好代表了戈登在这张图片http://gordondickens.com/wordpress/wp-content/uploads/2012/07/Spring-App-Layers.png中所描述的
这个应用程序很复杂,有很重的业务规则,有时需要在相同的用例中使用不同的资源,如数据库、SOAP、REST和文件处理。
对于上述场景,我有一个Service类,它需要执行SOAP和REST请求,并处理一些数据库数据。因此,我在Service类中自动配置了SOAP和REST组件以及存储库来处理数据库内容。
我担心这是否是最好的方法,可以处理我的服务与SOAP、REST、数据库等资源之间的集成。
谢谢
发布于 2014-06-08 09:07:49
因此,我在Service类中自动配置了SOAP和REST组件以及存储库来处理数据库内容。
听起来很成问题,尽管它会起作用。
考虑一下层之间的依赖关系。服务层将依赖于存储层(业务逻辑层将依赖于数据层)。传入请求的服务集成层(或服务通信层)将取决于服务层。但是数据层不依赖于服务层。服务层也不依赖于入站服务调用层。
因此,从Service类中移除SOAP和REST组件。将服务实例连接到SOAP和REST组件(即避免将SOAP和REST组件连接到服务中,向相反的方向进行)。
这样,当您想要支持另一个集成协议(例如JMS)时,就可以完成所有这些工作,而不是通过修改您的服务。
你的数据访问似乎很好。我希望您的服务通过DAOs访问存储库。
发布于 2014-06-07 18:53:14
因此,我在Service类中自动配置了SOAP和REST组件以及存储库来处理数据库内容。
听起来不错。您正在使用依赖注入,这意味着它们可以很容易地测试或更改。
https://stackoverflow.com/questions/24099869
复制相似问题