spring学习
文章平均质量分 96
卖女孩的jk
这个作者很懒,什么都没留下…
展开
-
spring源码学习_AOP原理
在Spring中,我们通过 @EnableAspectJAutoProxy 开启AspectJ自动代理,即可通过注解对指定的目标进行增强。我们来看看@EnableAspectJAutoProxy注解是如何发挥作用的 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented //关键在这里,这里向容器中注入了一个组件 @Import(AspectJAutoProxyRegistrar.class) public @i原创 2020-07-05 18:27:12 · 415 阅读 · 1 评论 -
spring源码学习_bean的循环依赖
当两个bean互相依赖,或者多个bean相互依赖并形成一个环状结构的时候,就形成了循环依赖的问题。例如下图: 关于bean的实例化过程,我在spring源码学习_bean的实例化过程中有详细讲解,这里直接说结论。 ① bean在实例化时,spring首先会找到其指定的构造方法,生成这个bean的java对象。此时bean只是单纯的java对象,其中的依赖并没有被注入。这个阶段的bean我们可以理解为是半成品的bena或是早产的bean。 ② 对象生成后,spring就会在spring容器中获取其依原创 2020-06-01 23:24:35 · 645 阅读 · 2 评论 -
spring源码学习_bean的初始化
这是上一篇说到的bean的实例化过程,我们就着这个图继续说。 在bean的实例已创建且属性的注入完成后,就会调用 initializeBean方法进行bena的初始化。先看一下整体流程。 protected Object initializeBean(final String beanName, final Object bean, @Nullable RootBeanDefinition mbd) { //第一步 调用invokeAwareMethods方法 if (System...原创 2020-05-24 19:13:43 · 964 阅读 · 3 评论 -
spring源码学习_bean的实例化过程
上篇(spring源码学习_bean工厂的初始化)有说到,bean工厂初始化的最后一步就是将所有剩下的,在beanDefinitionMap中注册的,需要被实例化的bean全部实例化。其实例化过程最终是又 getBean 方法完成的,这里我们就重点看看getBean方法。 bean的实例化过程 这里先通过一个图展现一下bean初始化的大概流程 1)getBean方法首先会调用...原创 2020-03-31 22:56:27 · 435 阅读 · 0 评论 -
spring源码学习_bean工厂的初始化
spring framework的ioc容器可以让我们轻松的用各种注解申明bean,并可以使用@Autowired进行依赖注入。本文我们就深入了解一下spring bean工厂的初始化过程,以及依赖注入的原理。 1.bean工厂的初始化 使用spring时,我们通常这样初始化bean工厂 ApplicationContext context = new AnnotationConfigAp...原创 2020-03-22 15:35:55 · 394 阅读 · 0 评论 -
spring源码学习_dispatchServlet路由原理
在传统的javaee项目中,我们需要在web.xml配置文件中配置若干个servlet去拦截前端请求,并将这些请求分发到对应的servlet去处理。在springmvc中我们只需要在web.xml中配置一个 dispatchServlet <servlet> <servlet-name>dispatcherServlet</servlet-name> &...原创 2020-03-10 19:47:48 · 506 阅读 · 0 评论