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();
            }
        }
    
  • 相关阅读:
    selenium笔记
    gbase笔记
    oracle向gbase数据迁移须知
    字符串表达式的计算
    Struts2的安装
    JSP+MySQL中文乱码
    HTML:<input type="text">文本框不可编辑的方式
    HTML中使用<input>添加的按钮打开一个链接
    AS3.0:给图片添加滤镜模糊与斜角效果
    SQLServer 2008以上误操作数据库恢复方法—日志尾部备份
  • 原文地址:https://www.cnblogs.com/loveer/p/11576408.html
Copyright © 2011-2022 走看看