spring面试题
Jarvis.y
学到老,活到老~~~
展开
-
IOC 容器中那些鲜为人知的细节(关于 延时加载)
通过前面我们对 IOC 容器的实现和工作原理分析,我们已经知道 IOC 容器的初始化过程就是对 Bean定义资源的定位、载入和注册,此时容器对 Bean 的依赖注入并没有发生,依赖注入主要是在应用程序第一次向容器索取 Bean 时,通过 getBean()方法的调用完成。当 Bean 定义资源的元素中配置了 lazy-init=false 属性时,容器将会在初始化的时候对所配置的 Bean 进行预实例化,Bean 的依赖注入在容器初始化的时候就已经完成。这样,当应用程序第一次向容器索取被管理的 Bean原创 2020-10-07 23:41:10 · 274 阅读 · 0 评论 -
IOC 容器中那些鲜为人知的细节(关于 autowiring)
Spring IOC 容器提供了两种管理 Bean 依赖关系的方式:1)、显式管理:通过 BeanDefinition 的属性值和构造方法实现 Bean 依赖关系管理。2)、autowiring:Spring IOC 容器的依赖自动装配功能,不需要对 Bean 属性的依赖关系做显式的声明, 只需要在配置好 autowiring 属性,IOC 容器会自动使用反射查找属性的类型和名称,然后基于属性的类型或者名称来自动匹配容器中管理的 Bean,从而自动地完成依赖注入。通过对 autowiring 自动装配原创 2020-10-07 23:40:46 · 244 阅读 · 0 评论 -
IOC 容器中那些鲜为人知的细节(关于 FactoryBean 和 BeanFactory)
在 Spring 中,有两个很容易混淆的类:BeanFactory 和 FactoryBean。BeanFactory: Bean 工厂,是一个工厂(Factory),我们 Spring IOC 容器的最顶层接口就是这个BeanFactory,它的作用是管理 Bean,即实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。FactoryBean: 工厂 Bean,是一个 Bean,作用是产生其他 bean 实例。通常情况下,这种 Bean 没有什么特别的要求,仅需要提供一个工厂方法,该方法用来返回原创 2020-10-07 23:39:52 · 380 阅读 · 1 评论 -
Spring中的Bean是如何被回收的?
答:这需要看Spring中的bean的生命周期spring中的生命周期有比如:singleton,prototype,session,request…Spring 中的Bean默认是singletonsingleton(全局的)是随着spring的存亡而存亡GC回收原则,当bean的引用没有指向任何地方的时候,它就会被回收spring中的singleton 存在于ioc 中,本身就是单例,是基于spring的上下文的,当spring本身不消失,自然ioc容器也不会消失,自然ioc容器中的引用也会一原创 2020-10-04 02:40:18 · 1983 阅读 · 0 评论 -
Spring中的Bean是线程安全的么?
答:首先Spring 中的Bean是哪里来的?spring中的bean是初始化时,通过扫描,利用反射new出来的。并且缓存在IOC 容器中,所以Spring并没有对你bean做任何处理所以,spring中的bean 是不是线程安全的,取决于Bean的本身。而Bean的本身是我们自己写的代码。所以你自己的代码决定于这个bean是否是线程安全的。...原创 2020-10-04 02:38:45 · 601 阅读 · 0 评论