美文网首页
spring知识点2-SpringIOC的应用

spring知识点2-SpringIOC的应用

作者: 那钱有着落吗 | 来源:发表于2021-03-22 10:46 被阅读0次
    image.png image.png image.png image.png
    image.png image.png

    Spring会在程序启动时,去获取Bean的定义,然后将beanDefinition注册到容器里面去,我们从上图的源码中可以看到,其中一个Factory类会把BeanDefinition装到一个map集合中,名字装到一个list集合中。

    BeanFactory了解

    # image.png image.png

    从源码中可以看到,BeanFactory可以通过名称获取bean也可以通过bean类型获取bean。
    在Spring中默认类都是单例的,所以通过getBean获取的bean一般情况都是同一个对象。如果是多例状态的话,那么getBean会返回一个新的对象。

    ApplicationContext了解

    image.png

    从上图可以看出,ApplicationContext相对于BeanFactory来说实现了很多的接口,所以就有很多的功能,不仅仅具有BeanFactory的功能,也有资源的加载,消息的发送,事件监听等上下文功能。

    image.png

    下面是一个实例来演示,我们如果配置一个bean到config中,然后再从程序中获取到这个bean:


    image.png image.png

    run这个方法会返回context,然后我们通过getbean获取bean即可。
    上面只是演示下加载bean和获取bean的方式,下面是更为简单的写法:

    image.png

    加上@Component注解,springboot就会扫描到这个类,然后加载到IOC容器中。

    image.png image.png image.png

    相关文章

      网友评论

          本文标题:spring知识点2-SpringIOC的应用

          本文链接:https://www.haomeiwen.com/subject/jqoqqltx.html