美文网首页
spring 源码学习①

spring 源码学习①

作者: 曾慧婷 | 来源:发表于2019-04-06 23:15 被阅读0次

    1、@Scope("singleton")/@Scope("prototype")

          @Bean("person")

           public Person person(){

       return new Person("张三",21);

           }

    其中,sington和protype分别代表单例和多例模式创建对象。单实例(系统默认值),ioc容器启动会调用方法创建对象放在ioc容器中,以后每次获取就是直接从容器中拿。容器中有且只有一个该类型的对象。而多实例,ioc容器启动并不会去调用方法创建对象放在容器中,每次获取的时候才会调用方法创建对象。容器中每获取一次就创建一个新的对象。

    对于单例模式,可以通过注解@Lazy来延迟加载。也就是在容器创建的时候,不加载对象,当第一次获取该对象时,再创建对象,这就是所谓的延迟加载。(个人认为延迟加载可以在一定程度上提高容器的加载速度,减少不必要对象的加载,不知道对程序运行是否也有优点)

    相关文章

      网友评论

          本文标题:spring 源码学习①

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