Spring
文章平均质量分 85
遇见更好的自己、
勤奋是改变命运的唯一途径
展开
-
Spring事件发布机制
目录 前言一、事件驱动机制编辑 二、Spring的事件发布机制 三、Spring事件使用实例四、Spring事件驱动的实现原理总结:在设计模式中有一种设计模式叫做观察者设计模式,观察者模式的大致思想是这样的:有两个比较中重要的概念一个是:被观察的对象(Subject) 一个是观察的对象(Observer)。当被观察的对象有变更和改动的时候,能够及时的通知给Observer。大家细品,是不是有点消息队列的味道。是的,没错。消息队列MQ的思想和观察者模式的思想是一样的。Subject的改动可以通过到每原创 2022-06-30 11:12:01 · 2620 阅读 · 3 评论 -
Spring Cloud面试题整理
Spring Cloud面试题整理原创 2021-12-26 11:39:25 · 27785 阅读 · 0 评论 -
Spring面试题整理
1、依赖注入的方式有几种? setter注入与构造函数注入的区别?有3种依赖注入的方式 1、接口注入:我们平时开发使用最多的一种方式 2、setter注入 3、构造函数注入 (其中建议使用set注入可以防止循环依赖的问题)在Setter注入,可以将依赖项部分注入,构造方法注入不能部分注入,因为调用构造方法如果传入所有的参数就会报错。 如果我们为同一属性提供Setter和构造方法注入,Setter注入将覆盖构造方法注入。但是构造方法注入不能覆盖setter注入值。显然,构造方法注入被称为创...原创 2021-12-22 20:47:06 · 380 阅读 · 0 评论 -
SpringBoot循环依赖解决
一、循环依赖是什么?我们了解到SpringBoot通过注解componentScan注解。将Bean注入到Spring容器、那么在注入过程中,如遇到这样的问题在将BeanA注入到容器中的过程中:BeanA持有BeanB的引用,BeanB持有BeanC的引用。BeanC持有BeanA的引用、当BeanA注入依赖于BeanC,BeanC又依赖于BeanA。如此循环,就会导致BeanCurrentlyInCreationException异常.这就是我们常遇见的SpringBoot循环依赖的问题、通常发生原创 2021-10-08 22:13:58 · 8603 阅读 · 0 评论 -
DispatcherServlet详解
在介绍DispatcherServlet的时候,我们得先了解 ,servlet。那什么时候servlet勒。servlet是基于http协议的,在服务端(如Tomcate)运行的,是按照servlet规范编写的一个Java类。做Java Web开发的应该都了解它。主要用于处理客户端的请求并将其结果发送至客户端。servlet的生命周期可分三个阶段:初始化、运行和销毁。1.初始化阶段(1) servlet容器加载servlet类,把servlet类的.class文件中的数据读至内存中。(2) se转载 2021-08-01 11:25:09 · 14326 阅读 · 1 评论 -
Spring AOP详解
转载大佬的文章通俗易懂:大佬有很多文章讲解的非常透彻、转载文章一方面为了日后学习,另一方面也会了让更多的同志去学习优秀的文章:https://blog.csdn.net/javazejian/article/details/56267036另外还有一篇是讲解IOC的,我在之前的文章也陆陆续续的讲解了一些:但是这篇文章几乎涵盖了所有的知识点:https://blog.csdn.net/javazejian/article/details/54561302...转载 2021-07-28 22:59:38 · 52 阅读 · 0 评论 -
Spring Bean的生命周期和作用域
首先我们来介绍Spring Bean的作用域,默认Spring IOC初始化Bean是单例的。及在beanFactory中Bean都是单例,调用getBean的时候,返回的都是同一个Bean对象。SpringBean的五大作用域如下:singleton: bean在每个Spring ioc 容器中只有一个实例。prototype:当一个bean的作用域为Prototype,表示一个bean定义对应多个对象实例。(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)时都.原创 2021-07-27 23:02:34 · 155 阅读 · 0 评论 -
Spring之@Autowired、@Resource、@Inject和@Configuration
Spring IOC有个重要的功能叫做DI(依赖注入)、依赖注入我们都知道是通过@Autowired、@Resource、@Inject等方式来实现。在一个Bean中通过@Autowired来控制对另一个Bean的依赖。通常我们大部分使用的是@Autowired对应的实现原理:在spring框架内部实现当中,注解实现注入主要是通过bean后置处理器BeanPostProcessor接口的实现类来生效的。BeanPostProcessor后置处理器是在spring容器启动时,创建bean对象实例后,马原创 2021-07-26 22:15:55 · 413 阅读 · 0 评论 -
Spring之BeanFactory详解
Spring的本质是一个bean工厂(beanFactory)或者说bean容器,它按照我们的要求,生产我们需要的各种各样的bean,提供给我们使用。只是在生产bean的过程中,需要解决bean之间的依赖问题,才引入了依赖注入(DI)这种技术。也就是说依赖注入是beanFactory生产bean时为了解决bean之间的依赖的一种技术而已。beanFactory会在bean的生命周期的各个阶段中对bean进行各种管理,并且spring将这些阶段通过各种接口暴露给我们,让我们可以对bean进行各种处理,我们原创 2021-07-25 21:44:48 · 11948 阅读 · 3 评论 -
Spring之ApplicationContext与BeanFactory详解
BeanFactory和ApplicationContextSpring通过一个配置文件描述Bean和Bean之间的依赖关系,利用Java反射功能实例化Bean,并建立Bean之间的依赖关系。Spring的IOC容器在完成这些底层工作的基础上,还提供了Bean实例缓存、生命周期管理、Bean实例代理、时间发布、资源装载等高级服务。BeanFactory是Spring框架最核心的接口,它提供了高级IOC的配置机制。ApplicationContext建立在BeanFactory的基础上,提供了原创 2021-07-22 22:35:46 · 1119 阅读 · 0 评论 -
Spring之ContextLoaderListener
上文web容器的启动中我们已经了解到,在web容器即Tomact容器启动web应用即servlet应用时,会触发ServletContextEvent时间,这个事件会被ServletContextListener监听,监听到了以后会通过ContextLoaderListener监听器(ServletContextListener的一个实现类)去初始化Spring容器其实就是去初始化一些Bean。即默认WEB-INF/applicationContext.xml文件的配置信息。关于有如下两点需要理解:1.原创 2021-07-21 23:08:54 · 1298 阅读 · 0 评论 -
Spring源码分析之如何开始Spring源码分析
一、概述对于大多数第一次看spring源码的人来说,都会感觉不知从哪开始看起,因为spring项目源码由多个子项目组成,如spring-beans,spring-context,spring-core,spring-aop,spring-web,spring-webmvc等,整个项目结构如图:1、 可能有人会觉得,既然spring是一个IOC容器或者说是一个bean的容器,那么应该从spring-beans看起,先了解spring是如何从xml文件配置获取需要创建的bean的信息,但是这里有个问题转载 2021-07-20 22:16:01 · 242 阅读 · 0 评论 -
Spring面试题整理
Spring的优缺点是什么?优点1、方便解耦,简化开发Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护,交给Spring管理。2、AOP编程的支持Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能。3、声明式事务的支持只需要通过配置就可以完成对事务的管理,而无需手动编程。4、方便程序的测试Spring对Junit4支持,可以通过注解方便的测试Spring程序。5、方便集成各种优秀框架Spring不排斥各种优秀的开源框架,其转载 2021-07-19 22:29:51 · 478 阅读 · 0 评论