![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring之我见
文章平均质量分 86
Spring组件源码分析
Change_cj
这个作者很懒,什么都没留下…
展开
-
Spring之Bean
入口SpringBoot启动过程一文中,提到在refresh过程里,会通过扫描解析已注入的@Configuration类的@ComponentScan、@Import、@Component、@Bean…注册其余的BeanDefinition;在springmvc通过web.xml中contextConfigLocation的值,加载并解析beans文件;自己创建ClassPathXmlApplicationContext,指定configLocation,在refresh时,解析config文件注册原创 2021-12-14 17:53:42 · 179 阅读 · 0 评论 -
Spring之SpringBoot启动过程
前言SpringBoot的启动过程比较长,会涉及到其他模块的事件/监听器,这些监听器里又会有自己的逻辑;本文重点集中在启动过程上,对于比较重要的,对全局有影响的监听器也会单独拎出,说明它的作用。文章很长,先给出启动的大致流程:启动类@SpringBootApplicationpublic class WebApplication { public static void main(String[] args) { SpringApplication.run(WebAppl原创 2021-11-09 21:45:00 · 317 阅读 · 0 评论 -
Spring之声明式事务
入口在Spring中,我们可以通过@EnableTransactionManagement开启声明式事务;但在SpringBoot我们发现不打这个注解也开启了声明式事务,这是为什么呢?答案就在org.springframework.boot:spring-boot-autoconfigure这个包里的spring.factories(spring.factories放了很多需要容器管理的实例的类路径;三方jar包可以通过这种方式将自己的一些Bean交托给Spring容器管理), 这个文件告诉Spring容原创 2021-09-29 19:49:01 · 307 阅读 · 0 评论 -
Spring之动态代理源码
前言在Spring之AOP的最后,我们提到了两种动态代理的方式:JDK动态代理以及cglib动态代理;JDK方式可以代理接口或者实现了接口的实现类,cglib的被代理类不能是接口/抽象类。还有一点区别在下面揭晓。CGLIB之前是在项目里引入spring全家桶来看源码的,所以一开始看Enhancer是在org.springframework下还以为是Spring自己重写的一套。通过jar包方式查看,发现很多相关的类都不能看到源码,就去github上拉了springframework;在spring-co原创 2021-09-12 17:09:14 · 676 阅读 · 0 评论 -
Spring之AOP源码
前置信息 - 自动代理创建器Spring提供多种类型的自动代理创建器,为特定的类生成AOP代理。从上图可以看出,Spring提供了5种自动代理创建器分别是BeanNameAutoProxyCreator,DefaultAdvisorAutoProxyCreator,AspectJAwareAdvisorAutoProxyCreator,InfrastructureAdvisorAutoProxyCreator,AnnotationAwareAspectJAutoProxyCreator;BeanNa原创 2021-08-25 09:21:06 · 167 阅读 · 0 评论