spring
define_us
互联网编程/架构设计/数学崇拜
展开
-
Spring源代码阅读(3):AOP
创建时调用时利用反射算是一个略有变化的的责任链模式。利用CGLIBcglib会生成一个enhancedBySpringCGlib的类。其他和利用反射的时候是一致的。before:6, Asp1 (example)invoke0:-1, NativeMethodAccessorImpl (sun.reflect)invoke:62, NativeMethodAccessorImpl (sun.reflect)invoke:43, DelegatingMethodAccessorImpl (原创 2020-12-15 15:25:15 · 429 阅读 · 0 评论 -
Spring源代码阅读(2):事务
转载https://blog.csdn.net/weixin_44366439/article/details/90381619原理编程式事务使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。声明式事务是建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最原创 2020-12-11 23:40:51 · 101 阅读 · 0 评论 -
Spring代码阅读:(1)ClassPathXmlApplicationContext类说开去
类的设计继承和实现了一系列接口比如描述生命周期的public interface Lifecycle { void start(); void stop(); boolean isRunning();}在AbstractApplicationContext中,写了核心的refresh的设计如下 public void refresh() throws BeansException, IllegalStateException { synchronized (原创 2020-12-11 22:09:44 · 134 阅读 · 0 评论 -
Spring实战之Spring动态加载jar模块和卸载模块
Spring提供了下面这些类来加载外部jar。classPathResorce可以用来加载类路径上的jar。一般推荐使用 classLoader = new UrlClassLoader(new URL[] {resource.getURL()}, parentClassLoader);来创建一个classLoader。其中parentClassLoader可以通过BeanClassLoaderAware从当前Spring上下文中拿到。一般,我们会写一MyClassPa原创 2020-12-11 20:50:19 · 4803 阅读 · 0 评论