青云博客 分享、记录

Spring-Ioc容器的加载过程

Spring 的 IOC 容器工作的过程,其实可以划分为两个阶段:配置解析阶段和Bean 的创建段。 其中

詹学伟 发布于 2024-04-22

BeanFactory 和 ApplicationContext有什么区别?

BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当做Spring的容器。其中ApplicationContext是BeanFactory的子接口。 BeanFactory:是Spring框架的核心接口之一

詹学伟 发布于 2024-04-22

BeanFactory 和FactoryBean有什么区别?

BeanFactory是Spring框架的核心接口之一,用于管理和获取Bean对象亦陈为bean的容器。使用了简单工厂模式,提供getBean方法用来获取bean。 FactoryBean是一个bean,但是它是一个特殊的bean。 它是一个接口,

詹学伟 发布于 2024-04-22

Spring IoC 的实现机制是什么?

Spring的IoC底层实现机制主要依赖于以下几个关键组件和技术: 反射:Spring使用Java的反射机制来实现动态创建和管理Bean对象。通过反射,Spring可以在运行时动态地实例化Bean对象、调用Bean的方法和设置属性值。 配置元数据:Spring使用配置元数据来描述Bean的定义和依赖

詹学伟 发布于 2024-04-22

单例bean和单例模式有什么区别

定义和用途: 单例Bean:在Spring框架中,单例Bean是指在整个应用程序中只存在一个实例的Bean对象。单例Bean的作用是共享和复用对象实例,以提高性能和减少资源消耗。 单例模式:单例模式是一种设计模式,用于确保一个类只有一个实例,并提供一个全局访问点来获取该实例。单例模式的目的是限制类的

詹学伟 发布于 2024-04-22

Bean有哪几种配置方式?

在Spring框架中,有以下几种常见的Bean配置方式: XML配置:使用XML文件来配置Bean,通过<bean>元素定义Bean的属性和依赖关系。可以使用Spring的XML命名空间和标签来简化配置。 注解配置:使用注解来配置Bean,通过在Bean类上添加注解,如@Component、@Ser

詹学伟 发布于 2024-04-22

Spring是如何解决Bean的循环依赖?

Spring是如何解决的循环依赖: 采用三级缓存解决的 就是三个Map ; 关键: 一定要有一个缓存保存它的早期对象作为死循环的出口 1、一级缓存singletonObjects存放可以使用的单例。 2、二级缓存

詹学伟 发布于 2024-04-22

解释Spring中bean的生命周期

Bean生命周期:指定的就是Bean从创建到销毁的整个过程: 分4大步: 实例化 通过反射去推断构造函数进行实例化 实例工厂、 静态工厂 依赖注入(DI) <

詹学伟 发布于 2024-04-22

JDK动态代理和CGLIB动态代理的区别

从性能上特性对比: JDK动态代理要求目标对象必须实现至少一个接口,因为它基于接口生成代理类。而CGLIB动态代理不依赖于目标对象是否实现接口,可以代理没有实现接口的类,它通过继承或者代理目标对象的父类来实现代理。 从创建代理时的性能对比: JDK动态代理通常比CGLIB动态代理创建速度更快,因为它

詹学伟 发布于 2024-04-22

什么情况下AOP会失效,怎么解决?

大部分失效是由于: 内部方法调用: 如果在同一个类中的一个方法调用另一个方法,AOP通知可能不会触发,因为AOP通常是通过代理对象拦截外部方法调用的。解决方式是注入本类对象进行调用, 或者设置暴露当前代理对象到本地线程, 可以通过AopContext.currentProxy()

詹学伟 发布于 2024-04-22