zoukankan      html  css  js  c++  java
  • Spring容器对Bean组件的管理

    Bean对象创建

    默认是随着容器创建
    
    可以使用 lazy-init=true:在调用 getBean 延迟创建
    也可以用 <beans default-lazy-init="true"/> 批量延迟创建
    

    Bean对象的创建模式

    默认是单例,可以使用scope属性改变。
    
    singleton:单例,每次调用getBean返回同一个对象
    
    prototype:原型,每次调用getBean返回一个新的对象
    

    Bean对象初始化和销毁

    init-method 属性用于指定初始化方法
    spring 容器创建完对象后,将会执行 xml 文件中指定的初始化方法,单例模式中初始化方法只会执行一次
    
    destroy-method 属性用于指定销毁方法,仅适用于 singleton 模式,
    在调用 AbstractApplicationContext 对象的 close() 方法时触发
    

    三种实例化bean的方式

    1.使用类构造器实例化
    
        <bean id=“userService" class="service.UserService"/>
    
    
    2.使用静态工厂方法实例化
    
        <bean id="userService" class="service.UserFactory" factory-method="createUser"/>
    
        public class UserFactory {
            public static UserService createUser(){
                return new UserService();
            }
        }
    
    
    3.使用实例工厂方法实例化:
    
        <bean id="userServiceFactory" class="service.UserFactory"/>
        <bean id="userService" factory-bean="userServiceFactory" factory-method="createUser"/>
    
        public class UserFactory {
            public UserService createUser(){
                return new UserService();
            }
        }
    
  • 相关阅读:
    CSS学习笔记 -- 组合选择符
    CSS学习笔记 -- Position(定位)
    CSS学习笔记 -- CSS 列表
    CSS学习笔记 -- 多重样式优先级深入概念
    CSS学习笔记 -- ID和Class
    HTML学习笔记 -- XHTML
    HTML学习笔记 -- 速查列表
    HTML学习笔记 -- <div> 和<span>
    HTML学习笔记 -- HTML <head>
    HTML学习笔记 -- HTML 中 href、src 区别
  • 原文地址:https://www.cnblogs.com/loveer/p/11576408.html
Copyright © 2011-2022 走看看