Spring缓存

1支撑业务快速推进,提高业务功能迭代效率,基于代理的思想,抽象代码增强技术方案,有效简化第三方技术方案的使用接入。
基于Spring代理,提供声明氏注解方案,定制出缓存,日志,监控和校验等注解方案。


For

用户接口层

主要是提供给外部使用的接口API和注解,开发人员通过这些注解来引入统一切面技术方案。接口调用到对应类上或方法上调进入核心逻辑。提供缓存,日志,监控和校验注解。

核心层

    负责具体的注解查找、注解解析、方法调用拦截,注解处理等。它主要的目的是完成统一扩展操作,提供责任链等模式

执行大部分的系统功能。

基础层 

     切入点(Point),通知(Advice),SpringEL,Aspect 等代理

当一个方法上配置了定义的注解之类的注解后,这个方法被调用时,就会被一个叫OpreationInterceptor的拦截器拦截,进入该类的invoke()方法中,如果当前context已经初始化完成,该方法紧接着会调用execute()。execute()方法中会读取原来被调用业务方法上的注解信息,然后进入OperationChain,原方法中的业务逻辑。这就是spring通过注解操作缓存的总体流程.
 

该方案优点:

不需要在业务逻辑代码中掺杂系统性质的代码,只需在相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将系统服务应用到业务逻辑中。

你可能感兴趣的:(Spring缓存)