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>

        

        

  • 相关阅读:
    Spring Bean的生命周期
    使用docker安装虚拟机并打开ssh连接
    查看/设置JVM使用的垃圾收集器
    使用Apollo动态修改线上数据源
    java8之lambda表达式
    Java8之Stream
    @Bean 的用法
    Java中的Filter过滤器
    详解tomcat的连接数与线程池
    什么是ClassLoader
  • 原文地址:https://www.cnblogs.com/forever2h/p/6739902.html
Copyright © 2011-2022 走看看