申明:本人对java了解不太深,发表的观点可能有不当之处,如有之请不吝赐教。
service locator模式在老早的j2ee中就被提出来,原因是在一个程序中有大量服务(service)时,使用者调用相关的服务组件就显得不那么容易,既不易寻找,又需要自己创建实例,既耗时又没有任何技术含量。service locator模式的出现解决了上述问题,它将一组服务甚至所有服务交给一个或者若干个service locator,由这些service locator来找寻服务并完成初始化的工作,调用者只需要知道使用哪个service locator即可,这样就大大简化了寻找并实例化服务的工作。
传统的j2ee中的 service locator模式类得调用关系如下图:
但是今天我们不谈j2ee里的service locator,因为自从spring的诞生就意味着java程序在向轻量级框架发展,所以,这里要谈一下如何用spring技术来实现上面的service locator模式。
我们用Spring来实现调用关系如下图(第一次画,画的可能不太对)
此图中ServiceLocator依赖spring容器来生成services,并由一个SpringServiceFactory来管理这些生成的Service,当使用时,只要通过ServiceLocator来查找相应的Service实例.
下面来具体介绍如何来写这样一个jar包。
先用eclipse建立一个maven工程。
目录结构如下:
pom.xml内容如下:

本文介绍了如何使用Spring框架来实现Service Locator模式,以简化服务的查找和实例化。通过创建一个Spring配置文件,将服务注册到Spring容器,然后通过静态方法从Service Locator中获取服务。文中提供了一个简单的Person服务示例,包括DO类、服务接口、实现类和服务定位器的详细代码实现。
最低0.47元/天 解锁文章
198

被折叠的 条评论
为什么被折叠?



