春天的N层架构

时间:2014-11-09 19:40:57

标签: java spring spring-mvc

我想在表示层使用spring MVC开发企业级应用程序,在业务逻辑层使用spring,在数据访问层使用hibernate。

但我希望将表示层保留在Web服务器中,多个服务器中的多个业务逻辑层和另一个物理服务器中的数据访问层,这意味着我想使用spring mvc建立n层解决方案。

我能够在我的架构中分离层。但问题是我的解决方案只是在单个服务器上工作。我不能为多个物理服务器做一个架构。

假设从控制器i使用@Autowired注释来注入业务逻辑层的对象。但是我如何建立一个系统,其中控制器通过网络与业务逻辑层进行通信,业务逻辑层也通过网络与数据访问层进行通信。

如果有人能详细描述解决方案,那么对我来说非常有帮助。

...谢谢

1 个答案:

答案 0 :(得分:0)

您应该能够轻松划分代码。让我们将您的数据访问层称为“数据提供者”服务和业务逻辑层“业务服务”。

现在,您必须决定要使用哪种网络协议。

现在REST是最受欢迎的一个,使用Spring MVC设置REST端点非常容易(在服务器上使用@RestController,在客户端上使用RestTemplate)。如果您想使用相同的Java代码(接口,DTO等)真正地耦合您的服务(数据提供者和业务服务),您也可以使用RMI。