zoukankan      html  css  js  c++  java
  • 4 spring 创建对象的三种方式

    方式1. 通过构造方法创建
        1.1 无参构造创建:默认情况.
        1.2 有参构造创建:需要明确配置
            1.2.1 需要在类中提供有参构造方法
            1.2.2 在applicationContext.xml 中设置调用哪个构造方法创建对象
                    1.2.2.1 如果设定的条件匹配多个构造方法执行最后的构造方法
                    1.2.2.2 index : 参数的索引,从0 开始
                    1.2.2.3 name: 参数名
                    1.2.2.4 type:类型(区分开关键字和封装类int 和Integer)
    <bean id="peo" class="com.bjsxt.pojo.People">
    <!-- ref 引用另一个bean value 基本数据类型或String 等-->
        <constructor-arg index="0" name="id" type="int"  value="123"></constructor-arg>
        <constructor-arg index="1" name="name" type="java.lang.String" value="张三"></constructor-arg>
    </bean>
     
    方式2. 实例工厂
    2.1 工厂设计模式:帮助创建类对象.一个工厂可以生产多个对象.
    2.2 实例工厂:需要先创建工厂,才能生产对象
    2.3 实现步骤:
            2.3.1 必须要有一个实例工厂
    public class PeopleFactory {
        public People newInstance(){
                return new People(1,"测试");
        }
    }
            2.3.2 在applicationContext.xml 中配置工厂对象和需要创建的对象
    <bean id="factory" class="com.bjsxt.pojo.PeopleFactory"></bean>
    <bean id="peo1" factory-bean="factory" factory-method="newInstance"></bean>
     
    方式3. 静态工厂
    3.1 不需要创建工厂,快速创建对象.
    3.2 实现步骤
        3.2.1 编写一个静态工厂(在方法上添加static)
    public class PeopleFactory {
        public static People newInstance(){
            return new People(1,"测试");
        }
    }
    3.2.2 在applicationContext.xml 中
    <bean id="peo2" class="com.bjsxt.pojo.PeopleFactory" factory-method="newInstance"></bean>
  • 相关阅读:
    二叉搜索查找排序树
    多项式运算
    赫夫曼编码及应用
    利用python画出动态高优先权优先调度
    利用python画出SJF调度图
    支持向量机
    fisher线性分类器
    Codeforces Round #520 (Div. 2)
    Codeforces Round #510 (Div. 2)
    Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)
  • 原文地址:https://www.cnblogs.com/spicy/p/10556546.html
Copyright © 2011-2022 走看看