zoukankan      html  css  js  c++  java
  • 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"时, /
  • 相关阅读:
    webService 部署以后参数输入框不能显示
    c# 发送邮件功能
    Linux上的free命令详解
    curl 命令详解
    查看mysql的root密码
    [shell]find用法小结
    ArrayList Vector LinkedList 区别与用法
    SecureCRT编码转换vim
    HashMap和Hashtable的区别
    Java中ArrayList和 LinkedList区别
  • 原文地址:https://www.cnblogs.com/wangchao422/p/9646977.html
Copyright © 2011-2022 走看看