spring
wytssss
这个作者很懒,什么都没留下…
展开
-
spring源码系列三(spring aop 3)
我们看一下目标方法被拦截并执行的过程源码public Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy) throws Throwable { Object oldProxy = null; boolean setProxyContext = false; Object target = null; TargetSource targetSource = this原创 2021-04-22 15:43:43 · 123 阅读 · 0 评论 -
spring源码系列三(spring aop 2)
在springbean生命周期的时候,我们会看到一个这个注册AnnotationAwareAspectJAutoProxyCreator,我们看一下这个的继承关系uml图看最上面有一个BeanPostProcessor,这里定义bean实例化前后执行的方法,AbstractAutoProxyCreator这个抽象类实现的,看一下逻辑public Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName原创 2021-04-20 17:21:16 · 122 阅读 · 0 评论 -
spring源码系列三(spring aop)
Spring是否支持注解的AOP是由一个配置文件控制的,也就是aop:aspectj-autoproxy/,我们就先看一下这个aop标签,先看这个源码public class AopNamespaceHandler extends NamespaceHandlerSupport {@Overridepublic void init() {// In 2.0 XSD as well as in 2.1 XSD.registerBeanDefinitionParser(“config”, new Co原创 2021-04-17 17:59:36 · 85 阅读 · 0 评论 -
spring源码系列二(Bean生命周期)
bean的生命周期如下:然后我们通过源码来看//这个类父类提供抽象,子类实现,父类@Overrideprotected Object createBean(String beanName, RootBeanDefinition mbd, @Nullable Object[] args)throws BeanCreationException { if (logger.isTraceEnabled()) { logger.trace("Creating instance of bean '"原创 2021-04-16 18:16:34 · 86 阅读 · 0 评论 -
spring源码系列一(BeanDefinition)
BeanDefinition顾名思义就是对bean抽象的一个接口定义,看一下有定义了啥东西大家就明白了,public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement { /** * 这两个参数应该一看就明白了,singleton和prototype,这个可以看出spring默认提供这两种模式 * @see #setScope */String SCOPE_SINGLETON = Configurabl原创 2021-04-16 12:04:04 · 126 阅读 · 0 评论