摘要: https://blog.csdn.net/yangliuhbhd/article/details/80790761 Spring的AbstractApplicationContext的refresh方法定义了Spring容器在加载配置文件后的各项处理过程,这些处理过程清晰刻画了Spring容器启动 阅读全文
posted @ 2019-06-25 11:55 沟渠映明月 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 参数: 请求路径, 请求参数, 返回类型, 扩展模板变量 参数: 请求参数, 返回类型 HttpEntityRequestCallback构造器 HttpEntityRequestCallback是RestTemplate的私有内部类,继承了RestTemplate私有内部类 AcceptHeade 阅读全文
posted @ 2019-06-25 11:16 沟渠映明月 阅读(1295) 评论(0) 推荐(0) 编辑
摘要: JDK的动态代理主要涉及java.lang.reflect包中的两个类:Proxy和InvocationHandler。其中,InvocationHandler是一个接口,可以通过实现改接口定义横切逻辑,并通过反射机制调用目标类的代码,动态的将横切逻辑和业务逻辑编织在一起。而Proxy利用Invoc 阅读全文
posted @ 2019-06-25 11:14 沟渠映明月 阅读(169) 评论(0) 推荐(0) 编辑
摘要: CGLib采用底层的字节码技术,可以为一个类创建子类,在子类中采用方法拦截的技术拦截所有父类方法的调用并顺势织入横切逻辑。 代理类实现MethodInterceptor接口,接口中的intercept方法拦截所有目标方法的调用 Object intercept(Object obj, Method 阅读全文
posted @ 2019-06-25 11:14 沟渠映明月 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Spring定义了org.springframework.aop.framework.AopProxy接口,并提供了两个final类型的实现类。 AopProxy类结构: Cglib2AopProxy使用CGLib动态代理技术创建代理,而JdkDynamicAopProxy使用JDK动态代理技术创建 阅读全文
posted @ 2019-06-25 11:13 沟渠映明月 阅读(1062) 评论(0) 推荐(0) 编辑
摘要: 在以前的公司做钱包业务,并向其他同事提供服务,由于钱包是新业务,用户并没有钱包相关数据,所以每个方法中都要先查询一次,如果没有就创建一个新的钱包并保存,再继续做接下来的业务。 问题是在app钱包入口处,用户连续点击多次钱包按钮,导致多个请求几乎同时进入到服务端,因为创建了多个钱包,所以我定位到的问题 阅读全文
posted @ 2019-06-25 09:17 沟渠映明月 阅读(1022) 评论(0) 推荐(0) 编辑