制作单页网站教程视频,php asp网站开发教程,godaddy wordpress托管,佛山品牌推广spring源码分析第五天------springAOP核心原理及源码分析
1、 面向切面编程。可以通过预 编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术
切面#xff08;Aspect#xff09;
连接点#xff08;Joinpoint#xff09;
通知#x…spring源码分析第五天------springAOP核心原理及源码分析
1、 面向切面编程。可以通过预 编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术
切面Aspect
连接点Joinpoint
通知Advice
切入点Pointcut
目标对象Target Object
AOP 代理AOP Proxy
2、通知Advice类型
前置通知
后置通知
返回后通知
环绕通知
3、execution(* com.spring.service..(…))表示 com.spring.service 包下返回值为任意类型方法名任意 参数不作限制的所有方法
4、Spring 中主要的 AOP 组件
Spring 提 供 了 两 种 方 式 来 生 成 代 理 对 象 : JDKProxy 和 Cglib 具 体 使 用 哪 种 方 式 生 成 由 AopProxyFactory 根据 AdvisedSupport 对象的配置来决定。默认的策略是如果目标类是接口则使 用 JDK 动态代理技术否则使用 Cglib 来生成代理。
代理对象如何织入 InvocationHandler 是 JDK 动态代理的核心生成的代理对象的方法调用都会委托到 InvocationHandler.invoke()方法。而通过 JdkDynamicAopProxy 的签名我们可以看到这个类其实 也实现了 InvocationHandler
5、分布式系统的特性
在分布式系统中同时满足 CAP 定律中的一致性 Consistency、可用性 Availability 和分区容错性 Partition Tolerance 三者是不可能的。在绝大多数的场景都需要牺牲强一致性来换取系统的高可 用性系统往往只需要保证最终一致性。
分布式事务服务Distributed Transaction ServiceDTS是一个分布式事务框架用来保障在 大规模分布式环境下事务的最终一致性。
CAP 理论告诉我们在分布式存储系统中最多只能实现上面的两点。而由于当前的网络硬件肯定会出现 延迟丢包等问题所以分区容忍性是我们必须需要实现的所以我们只能在一致性和可用性之间进行权 衡。
数据一致性理解 强一致性当更新操作完成之后任何多个后续进程或者线程的访问都会返回最新的更新过的值。这种 是对用户最友好的就是用户上一次写什么下一次就保证能读到什么。根据 CAP 理论这种实现需 要牺牲可用性。
6、事务的基本概念 5.6、事务的嵌套