b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Spring IOC容器的原理

电脑杂谈  发布时间:2020-01-26 16:01:58  来源:网络整理

spring ioc原理_spring ioc原理 反射_spring ioc aop的原理

IOC容器所以就是一个大工厂spring ioc原理 反射,它拿来管理我们所有的对象或者依赖关系

1)原理就是通过Java的反射技术来推动的!通过反射我们可以获得类的所有信息(成员函数、类名等等等)!

2)再通过配置文件(xml)或者注解来表述类与类之间的关系

3)我们就可以借助这种配置信息和反射技术来建立出对应的对象跟依赖关系了!

spring ioc aop的原理_spring ioc原理 反射_spring ioc原理

上面描述的技术即使学过点Java的都可说出来,这一下子可能还会被面试官问倒了,我们简单来说说实际Spring IOC容器是如何推动对象的建立跟依赖的:

在这里插入图片描述

1.根据Bean配置信息在容器外部创建Bean定义注册表

2.根据注册表加载、实例化bean、建立Bean与Bean之间的依赖关系

spring ioc aop的原理_spring ioc原理 反射_spring ioc原理

3.将这种准备就绪的Bean放到Map缓存池中spring ioc原理 反射,等待应用程序调用

Spring容器(Bean工厂)可简单分成两种:

几乎所有的应用场合都是使用ApplicationContext!

BeanFactory的继承体系:

spring ioc aop的原理_spring ioc原理 反射_spring ioc原理

在这里插入图片描述

ApplicationContext的继承体系:

在这里插入图片描述

其中在ApplicationContext子类中既有一个比较重要的:WebApplicationContext

spring ioc原理 反射_spring ioc aop的原理_spring ioc原理

ApplicationContext和BeanFactory不同之处在于:

有了里面的知识点了,我们再来简要地说说Bean的初始化过程:

在这里插入图片描述

简要总结:

Spring框架并没有对单例bean进行任何多线程的封装处理。关于单例bean的线程安全跟并发问题必须开发者自行去搞定。但实际上,大部分的Spring bean并没有可变的状况(比如Serview类和DAO类),所以在某些程度上说Spring的单例bean是线程安全的。如果你的bean有多种状态的话(比如 View Model 对象),就必须自行保证线程安全。

最简单的解决方法就是将多态bean的作用域由“singleton”变更为“prototype”


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-138288-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 李西月
        李西月

        巴菲特

      • 彭蕊熙
        彭蕊熙

        阿利伯克导弹驱逐舰

      • 张佳劲
        张佳劲

        我才看到因为我还没有每天刷微博的习惯

      热点图片
      拼命载入中...