• Bean的作用域范围


    bean的生命周期: 1. 在spring ioc容器(ApplicationContext)加载spring配置文件的时候,就会立即实例化bean 这样,在客户端向ioc容器多次索取同一个bean时,得到的总是同一个实例 2. 在bean实例化之后,就调用bean元素的init-method属性指定的bean的方法 3. 在spring ioc容器即将被关闭的时候,就会调用bean元素的destroy-method指定的方法. bean的作用域: scope 默认值就是 singleton 1.singleton 单例 此时,bean的生命周期就是默认的情况,与上面一致 1. 在spring ioc容器(ApplicationContext)加载spring配置文件的时候,就会立即实例化bean 这样,在客户端向ioc容器多次索取同一个bean时,得到的总是同一个实例 2. 在bean实例化之后,就调用bean元素的init-method属性指定的bean的方法 3. 在spring ioc容器即将被关闭的时候,就会调用bean元素的destroy-method指定的方法. 2.prototype 多例 保证每次获取bean的时候,都是现场直接实例化! 此时生命周期发生变化,bean的生命周期: 1. 在spring ioc容器(ApplicationContext)加载spring配置文件的时候,不会实例化bean了 而是每次获取bean的时候,都实例化 2. 在bean实例化之后,就调用bean元素的init-method属性指定的bean的方法 3. 在spring ioc容器即将被关闭的时候,就会调用bean元素的destroy-method指定的方法. 3.request 请求范围 web项目中 4.session 会话范围 web项目中 lazy-init对bean实例化的作用:延迟实例化: 1. 当scope取值为singleton时 且lazy-init="false"时, bean就在spring ioc容器加载配置文件时,直接实例化。 2. 当scope取值为singleton时 且lazy-init="true"时, bean就在spring ioc容器加载配置文件时,不会实例化。 直接第一次getBean的时候,才实例化 以后第二次getBean的时候,不实例化 以后第三次getBean的时候,不实例化 以后第四次getBean的时候,不实例化 ======================================================= 1. 当scope取值为prototype时 且lazy-init="false"时, ------> 在加载配置文件时,都不会实例化,总是在每次getBean的时候,都实例化bean 2. 当scope取值为prototype时 且lazy-init="true"时, /
  • 相关阅读:
    Jquery选择器 选择一个不存在的元素 为什么不会返回 false
    flask接收前台的form数据
    virtualenv
    easy_install与pip 区别
    Linux安装Python2.7
    能者多劳
    西游记的管理智慧:选择团队领导人的核心奥秘
    最高管理智慧:留个缺口给别人
    团队管理的1 4 7法则
    Spring的AOP面向切面编程
  • 原文地址:https://www.cnblogs.com/wangchao422/p/9646977.html
Copyright © 2020-2023  润新知