Spring
文章平均质量分 87
程序员老石
当你的才华满足不了你的野心,你应该滚去学习
展开
-
SpringBoot自定义注解
1、首先需要定义一个注解的interface,也就是我们自定义注解的注解名,同时也要定义里面的内部参数。原创 2023-02-23 16:44:22 · 187 阅读 · 0 评论 -
Spring - IOC源码分析(二)
1、重点查看doRegisterBean()方法2、进入registerBeanDefinition()方法,这个方法主要做了一件事,就是将definitionHolder封装对象里面的配置类的beanDefinition和beanName存放到beanDefinitionMap和beanDefinitionNames集合中配置类的beanDefinition注册到beanDefinitionMap集合配置类的beanName注册到beanNames集合以常规方式去注册配置类,此方法中除了第原创 2022-07-14 11:43:22 · 157 阅读 · 0 评论 -
SpringMVC执行流程
SpringMVC执行流程1、用户发送请求至前端控制器 DispatcherServlet2、DispatcherServlet 收到请求调用处理映射器 HandlerMapping3、处理映射器根据请求 url 找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给 DispatcherServlet4、DispatcherServlet 根据处理器 Handler 获取处理器适配器 HandlerAdapter ,执行 Hand原创 2022-05-24 17:08:33 · 255 阅读 · 0 评论 -
Spring事务管理详解
什么是事务事务是逻辑上的一组操作,要么都执行,要么都不执行。需要注意的是:事务能否生效数据库引擎是否支持事务是关键。比如常用的 MySQL 数据库默认使用支持事务的 innodb引擎。但是,如果把数据库引擎变为 myisam,那么程序也就不再支持事务了!事务的特性(ACID)原子性:一个事务(transaction)中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。即,事务原创 2022-05-24 16:37:18 · 9667 阅读 · 0 评论 -
Spring中Bean的作用域与生命周期
一、Bean的作用域一般情况下,我们书写在IOC容器中的配置信息,会在我们的IOC容器运行时被创建,这就导致我们通过IOC容器获取到bean对象的时候,往往都是获取到了单实例的Bean对象。这样就意味着无论我们使用多少个getBean()方法,获取到的同一个JavaBean都是同一个对象,这就是单实例Bean,整个项目都会共享这一个bean对象。在Spring中,可以在元素的scope属性里设置bean的作用域,以决定这个bean是单实例的还是多实例的。Scope属性有四个参数,具体的使用可以看下图:原创 2022-05-24 10:55:40 · 1861 阅读 · 0 评论 -
Spring事件监听Listener
1、Spring事件原理原理:观察者模式spring的事件监听有三部分组成:1)事件(ApplicationEvent)负责对应相应监听器 事件源发生某事件是特定事件监听器被触发的原因。2)事件发布器(ApplicationEventMulticaster)对应于观察者模式中的被观察者/主题, 负责通知观察者(监听器) 对外提供发布事件和增删事件监听器的接口,维护事件和事件监听器之间的映射关系,并在事件发生时负责通知相关监听器。3)监听器(ApplicationListener)对应于观察者模式中原创 2022-05-11 12:05:50 · 2189 阅读 · 0 评论 -
Spring是如何解决循环依赖的
1、什么是循环依赖?所谓的循环依赖是指,A依赖B,B又依赖A,它们之间形成了相互依赖的关系。或者A依赖B,B依赖C,C又依赖A,这样就形成了一个闭环。它们之间的依赖关系是:2、通过手写代码来理解Spring循环依赖:1)A类中注入了B@Componentpublic class InstanceA { @Autowired private InstanceB instanceB; public InstanceB getInstanceB() { return instanceB;原创 2022-05-10 11:37:20 · 269 阅读 · 0 评论 -
Spring中BeanFactory和FactoryBean的区别
BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。 ApplicationContext接口,它由BeanFactory接口派生而来,ApplicationContext包含BeanFactory的所有功能,通常建议比BeanFactory优先一、区别:BeanFactory是个Factory,也就是IOC容器或对象工厂Factor原创 2022-04-25 12:33:28 · 282 阅读 · 0 评论 -
Spring - IOC源码分析(一)
Spring IOC容器的加载过程@Configuration@ComponentScan("com.spring.ioc.service")public class MainStat { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(MainStat.class); UserServiceImpl bean = con原创 2022-04-24 12:09:39 · 688 阅读 · 0 评论 -
Spring - AOP
一、什么是AOP?1、AOPAOP(Aspect Oriented Programming),即面向切面编程,是OOP的补充,它也提供了模块化。在面向对象编程中,关键的单元是对象,AOP的关键单元是切面,或者说关注点(可以简单地理解为你程序中的独立模块)。一些切面可能有集中的代码,但是有些可能被分散或者混杂在一起,例如日志或者事务。这些分散的切面被称为横切关注点。一个横切关注点是一个可以影响到整个应用的关注点,而且应该被尽量地集中到代码的一个地方,例如事务管理、权限、日志、安全等。AOP让你可以使用简原创 2022-03-31 22:25:40 · 323 阅读 · 0 评论