我正在使用Spring + maven + hibernate配置来编写Rest ful Web服务。现在,这些Web服务被移动应用程序和Web应用程序使用。 我有一个要求创建类似Web服务管理器的东西,即..,在控制器中,而不是有许多方法映射到不同的服务,我应该只有一个网址,并根据该网址的参数,我应该能够将请求路由到不同的服务。
我读到了服务定位器模式。我应该根据我的要求使用这种模式吗?我可以在Spring中使用服务定位器吗? 从我读到的,服务定位器似乎提供了一种识别服务的方法,但这就是我的控制器在春天所做的事情。我的理解是对的吗?
服务定位器使用一些缓存来更快地访问服务。在这种情况下,是否应该在客户端(Web应用程序端)而不是服务器端实现?
请帮助我了解服务定位器模式。我应该知道JNDI以了解这种模式吗?
答案 0 :(得分:0)
Spring和服务定位器模式基本上是对立的。
Spring是一个依赖注入容器。您可以通过注入点(字段,构造函数,设置器)在Spring Bean中指定依赖项,当Spring创建Spring Bean时,Spring DI容器将解析依赖项并通过注入点将值注入Spring Bean。 p>
在服务定位器模式中,该类使用对服务定位器的静态引用"并要求服务定位器提供依赖项。服务定位器模式从类中隐藏JNDI和InitialContext。这与Spring的工作方式相反。