3.4.1. 服务
下图展示了服务层组件的类关系:
服务接口位于 global 模块中,所以在中间层和客户端层都是可用的。在运行时,在客户端层会为服务接口创建代理。代理使用 Spring HTTP Invoker 机制提供服务 bean 方法的调用。
服务实现 bean 位于 core 模块,仅在中间层可用。
使用 Spring AOP 的任何服务方法都会自动调用 ServiceInterceptor
。它检测当前线程中用户会话的可用性,并且会在从客户端层调用服务时执行转换和记录异常。