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"时, /
  • 相关阅读:
    spring mvc拦截器和<mvc:annotation-driven />的详解
    SpringMVC的工作流程-005
    子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程循环100次,如此循环50次-004
    简单java死锁设计002
    uwsgi手动安装时报错ValueError: invalid literal for int() with base 10: '32_1'
    flask jinja的宏
    Flask Web 开发 错误页面自定义
    Flask权限管理
    python uwsgi报错epoll_ctl(): Bad file descriptor
    linux怎么上真正的国际互联网
  • 原文地址:https://www.cnblogs.com/wangchao422/p/9646977.html
Copyright © 2011-2022 走看看