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>
  1. 实例工厂

    1.1 工厂设计模式:帮助创建类对象.一个工厂可以生产多个对象.

    1.2 实例工厂:需要先创建工厂,才能生产对象

    1.3 实现步骤:

      1.3.1 必须要有一个实例工厂

public class PeopleFactory {

    public People newInstance(){

        return new People(1,"测试");
}
}

      2.3.2在 applicationContext.xml 中配置两个标签:工厂对象factory-bean和需要创建的对象方法:factory-method.

<bean    id="factory"  class="com.bjsxt.pojo.PeopleFactory">  </bean>
<bean id="peo1" factory-bean="factory" factory-method="newInstance"> </bean>

      2.3.3测试实例工厂

  PeopleFactory factory=new PeopleFactory();
People peo1=pf.newInstance();
System.out.print(peo1);
  1. 静态工厂

    1.1 不需要创建工厂,可以快速创建对象.

    1.2 实现步骤

    1.2.1编写一个静态工厂(在方法上添加static)

public class PeopleFactory {

public static People newInstance(){

return new People(1,"测试");

}

    1.2.2 在applicationContext.xml 中配置两个标签:

      工厂对象的类class和需要创建的对象方法:factory-method.编写一个静态工厂(在方法上添加static)

<bean  id="peo2"class="com.bjsxt.pojo.PeopleFactory"

factory-method="newInstance"></bean>

    1.2.3 测试方法

People people1=PeopleFactory.newInstance();
System.out.println(people1);

Spring-02 -Spring 创建对象的三种方式 :1.通过构造方法创建/2.实例工厂/3.静态工厂的更多相关文章

  1. Spring笔记03(Spring创建对象的三种方式)

    1.创建对象的三种方式和bean的生命周期的验证: Animal接口代码: package cn.pb.dao; /** * 动物接口 */ public interface Animal { //吃 ...

  2. spring入门:beans.xml不提示、别名、创建对象的三种方式

    spring的版本是2.5 一.beans.xml文件不提示 Location:spring-framework-2.5.6.SEC01\dist\resources\spring-beans-2.5 ...

  3. Spring创建对象的三种方式以及创建时间

    创建对象的三种方式: 1.采用默认的构造函数创建 2.采用静态工厂方法 1.写一个静态工厂方法类 public class HelloWorldFactory { public static Hell ...

  4. Spring中bean实例化的三种方式

    之前我已经有好几篇博客介绍Spring框架了,不过当时我们都是使用注解来完成注入的,具体小伙伴可以参考这几篇博客(Spring&SpringMVC框架案例).那么今天我想来说说如何通过xml配 ...

  5. 【转】Spring学习---Bean配置的三种方式(XML、注解、Java类)介绍与对比

    [原文]https://www.toutiao.com/i6594205115605844493/ Spring学习Bean配置的三种方式(XML.注解.Java类)介绍与对比 本文将详细介绍Spri ...

  6. js创建对象的三种方式

    <script> //创建对象的三种方式 // 1.利用对象字面量(传说中的大括号)创建对象 var obj1 = { uname: 'ash', age: 18, sex: " ...

  7. js创建对象的三种方式和js工厂模式创建对象

    文章地址: https://www.cnblogs.com/sandraryan/ 创建对象 创建对象的三种方式 构造函数 ,是一种特殊的方法.主要用来在创建对象时初始化对象 1. 调用系统的构造函数 ...

  8. JavaScript中创建对象的三种方式!

    JavaScript中创建对象的三种方式! 第一种 利用对象字面量! // 创建对象的三种方式! // 1 对象字面量. var obj = { // 对象的属性和方法! name: 'lvhang' ...

  9. 4 spring 创建对象的三种方式

    方式1. 通过构造方法创建     1.1 无参构造创建:默认情况.     1.2 有参构造创建:需要明确配置         1.2.1 需要在类中提供有参构造方法         1.2.2 在 ...

随机推荐

  1. h5上拉加载更多

    --------------------------------------------------------------------------例子1 <div class="bo ...

  2. (CSDN迁移) 输入一个链表,从尾到头打印链表每个节点的值

    题目描述 输入一个链表,从尾到头打印链表每个节点的值. 思路1. 翻转链表,使用java自带的翻转函数或者从头到尾依次改变链表的节点指针 /** * public class ListNode { * ...

  3. Electron-Vue使用element-ui el-table不显示/卡死

    我们需要把element-ui加入到.electron-vue/webpack.renderer.config.js文件中的白名单里面 在这句话let whiteListedModules = ['v ...

  4. testNG的安装

    1,testNG介绍 TestNG ( Testing Next Generation ,下一代测试技术) testNG的强大之处在于它是 利用注释(注解) 来强化测试功能的测试框架,可以用来做接口测 ...

  5. python实践项目十:zipfile模块-将一个文件夹备份到一个 ZIP 文件

    描述:将指定路径下的某文件夹备份到一个zip文件 代码: #!/usr/bin/python # -*- coding: UTF-8 -*- # backupToZip - Copies an ent ...

  6. 可扩展标记语言XML之二:XML语言格式规范、文档组成

    大家好,小乐又来了,好久不见!这次接着上次可扩展标记语言XML之一:XML概念,作用,示例,继续讲述XML. 一.格式良好的 xml 1.语法规范: 1).必须有 XML 文档声明: <?xml ...

  7. LeetCode 227. 基本计算器 II(Basic Calculator II)

    227. 基本计算器 II 227. Basic Calculator II 题目描述 实现一个基本的计算器来计算一个简单的字符串表达式的值. 字符串表达式仅包含非负整数,+,-,*,/ 四种运算符和 ...

  8. 【剑指offer】面试题 8. 二叉树的下一个结点

    面试题 8. 二叉树的下一个结点 NowCoder 题目描述 给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点?树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指 ...

  9. 3. 键值对RDD

    键值对RDD是Spark中许多操作所需要的常见数据类型.除了在基础RDD类中定义的操作之外,Spark为包含键值对类型的RDD提供了一些专有的操作在PairRDDFunctions专门进行了定义.这些 ...

  10. AX导出excel设置格式

    今天在AX2009里面写一个导出EXCEL,没有模版,这是第一次碰到,之后写完之后发现导出的数据格式不对. 到处取经之后得到一下结果: 定义一个 Com   range; SysExcelCells  ...