zoukankan      html  css  js  c++  java
  • spring 之 使用IOC创建对象

    1. 通过构造方法来创建对象

    • 通过参数名称设置
      <!-- 通过构造方法来创建对象 -->
          <bean id="u1" class="cn.wh.vo.User">
              <!-- 
                  constructor-arg设置构造方法的参数
                  name表示参数名称
                  value表示参数值
               -->
              <constructor-arg name="name" value="张三疯"/>
              <constructor-arg name="age" value="218"/>
          </bean>
    • 通过参数的类型来设置
      <!-- 通过参数类型来设置 -->
          <bean id="u2" class="cn.wh.vo.User">
              <!-- 
                  type表示参数类型
                  value表示参数值
               -->
              <constructor-arg type="java.lang.String" value="张三疯"/>
              <constructor-arg type="int" value="218"/>
          </bean>
    • 通过参数的下标来设置
      <!-- 通过参数下标来设置 -->
          <bean id="u3" class="cn.wh.vo.User">
              <!-- 
                  index表示参数下标 下标从0开始
               -->
              <constructor-arg index="0" value="张三疯"/>
              <constructor-arg index="1" value="218"/>
          </bean>
    • 通过无参构造方法来创建对象

      <!-- 通过无参构造方法来创建对象 -->
          <bean id="u4" class="cn.wh.vo.User">
              <property name="name" value="张三疯"/>
              <property name="age" value="218"/>
          </bean>

    2.通过工厂来创建对象

    • 静态工厂来创建对象
      /**
       * 
       *  静态工厂
       */
      public class UserFactory {
          public static User newInstance(String name,int age){
              return new User(name,age);
          }
      }

      配置:

      <bean id="u5" class="cn.sxt.factory.UserFactory" factory-method="newInstance">
              <constructor-arg index="0" value="张三疯"/>
              <constructor-arg index="1" value="218"/>
          </bean>
    • 通过动态工厂来创建
      /**
       * 
       *  动态工厂
       */
      public class UserDynamicFactory {
          public User newInstance(String name,int age){
              return new User(name,age);
          }
      }

      配置:

      <!-- 设置动态工厂 -->
          <bean id="factory" class="cn.sxt.factory.UserDynamicFactory"/>
          <bean id="u6" factory-bean="factory" factory-method="newInstance">
              <constructor-arg index="0" value="张三疯"/>
              <constructor-arg index="1" value="218"/>
          </bean>

        

        

  • 相关阅读:
    一些关于视频相关基础概念
    熟悉某项目代码---零碎小知识总结
    C#中如何判断一个字符是汉字
    面试碰到一个这样的题------ 输入为一个字符串和字节数,输出为按字节截取的字符串
    C# 拼Json格式字符串 返回前段js 出错解决
    学习maple
    格林公式
    麦克斯韦方程组 (Maxwell's equation)的简单解释
    关于Ciarlet的泛函的一道homework的一个想法
    关于分开编写多个LaTeX文件的一点微小的总结
  • 原文地址:https://www.cnblogs.com/forever2h/p/6739902.html
Copyright © 2011-2022 走看看