spring学习
文章平均质量分 93
xwj1992930
https://github.com/xwj920930
展开
-
SpringMVC
https://www.processon.com/view/link/63f1d5cc2f69f86c1f96ee9c我们在使用SpringMVC时,传统的方式是通过定义web.xml,比如: 我们只要定义这样的一个web.xml,然后启动Tomcat,那么我们就能正常使用SpringMVC了。SpringMVC中,最为核心的就是DispatcherServlet,在启动Tomcat的过程中:而在init()方法中,会创建一个Spring容器,并且添加一个ContextRefreshListener监听器原创 2023-11-14 10:40:23 · 227 阅读 · 0 评论 -
Spring事务
所以这个类的主要作用就是。原创 2023-11-07 14:52:11 · 113 阅读 · 0 评论 -
Spring之AOP
DefaultAdvisorAutoProxyCreator的父类是AbstractAdvisorAutoProxyCreator。非常强大以及重要,只要Spring容器中存在这个类型的Bean,就相当于开启了AOP,AbstractAdvisorAutoProxyCreator实际上就是一个BeanPostProcessor,所以在创建某个Bean时,就会进入到它对应的生命周期方法中,比如:在某个Bean初始化之后。原创 2023-11-06 16:31:42 · 116 阅读 · 0 评论 -
Spring整合Mybatis
但是在Spring整合Mybatis后,如果没有执行某个方法时,该方法上没有加@Transactional注解,也就是没有开启Spring事务,那么后面在执行具体sql时,没执行一个sql时都会新生成一个SqlSession对象来执行该sql,这就是我们说的一级缓存失效(也就是没有使用同一个SqlSession对象),而如果开启了Spring事务,那么该Spring事务中的多个sql,在执行时会使用同一个SqlSession对象,从而一级缓存生效,具体的底层执行流程在上图。原创 2023-11-01 13:31:58 · 59 阅读 · 0 评论 -
Spring配置类
解析AppConfig类,生成对应的ConfigurationClass再扫描,扫描到的类都会生成对应的BeanDefinition,并且同时这些类也是ConfigurationClass再解析ConfigurationClass的其他信息,比如@ImportResource注解的处理,@Import注解的处理,@Bean注解的处理。原创 2023-10-31 11:25:47 · 54 阅读 · 0 评论 -
Spring启动过程
通常,我们说的Spring启动,就是构造ApplicationContext对象以及调用refresh()方法的过程。构造一个BeanFactory对象解析配置类,得到BeanDefinition,并注册到BeanFactory中解析@ComponentScan,此时就会完成扫描解析@Import解析@Bean因为ApplicationContext还支持国际化,所以还需要初始化MessageSource对象。原创 2023-10-30 13:37:01 · 50 阅读 · 0 评论 -
Spring循环依赖
很简单,就是A对象依赖了B对象,B对象依赖了A对象。// A依赖了Bclass A{public B b;// B依赖了Aclass B{public A a;那么循环依赖是个问题吗?如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情。比如a.b = b;b.a = a;这样,A,B就依赖上了。但是,在Spring中循环依赖就是一个问题了,为什么?原创 2023-10-26 11:50:48 · 93 阅读 · 0 评论 -
Spring依赖注入
方法参数个数为0个,并且 (方法名字以"get"开头 或者 方法名字以"is"开头并且方法的返回类型为boolean)原创 2023-10-25 15:43:58 · 54 阅读 · 0 评论 -
Spring之Bean生命周期源码解析
实例化自动注入Aware对象初始化。原创 2023-10-24 10:56:58 · 94 阅读 · 0 评论 -
Spring底层架构核心概念
我们还可以。原创 2023-10-18 16:12:45 · 474 阅读 · 0 评论 -
Spring底层核心原理解析
service.class–>无参构造方法(推断构造方法)–>对象–>依赖注入(有@Autowired的属性赋值)–>初始化前(@postConstruct)–>初始化(implement InitializationBean)–>初始化后(AOP)–>代理对象–>Bean。当我们从Spring容器得到UserService的Bean对象时,拿到的就是UserServiceProxy所生成的对象,也就是代理对象。确定用哪个构造方法,确定入参的Bean对象,这个过程就叫做。原创 2023-10-16 17:34:51 · 322 阅读 · 0 评论