Spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean id="productBean1" class="factory.StaticFactory" factory-method="create" scope="prototype">
  </bean>
 
  <bean id="productBean2" factory-bean="myfactory" factory-method="create" scope="prototype">
  </bean>
 
  <bean id="myfactory" class="factory.NonStaticFactory"/>
 
</beans>

StaticFactory.java

public class StaticFactory {

public static ProductBean create(){
        return new ProductBean("FromStaticFactory");
    }
}

NonStaticFactory.java

public class NonStaticFactory {

public ProductBean create(){
        return new ProductBean("FromNonStaticFactory");
    }
}

ProductBean.java

public class ProductBean {

public String name;

public ProductBean(){}
    
    public ProductBean(String name){
        this.name = name;
    }
    
    public String getName() {
        return name;
    }

public void setName(String name) {
        this.name = name;
    }

@Override
    public String toString() {
        return name;
    }
    
}

测试类

public class FactoryTest {

private static ApplicationContext ctx = new ClassPathXmlApplicationContext("factory/factory-context.xml");
    
    /**
     * @param args
     */
    public static void main(String[] args) {
        StaticFactoryTest();
        NonStaticFactoryTest();
    }

public static void StaticFactoryTest(){
        ProductBean pb = (ProductBean)ctx.getBean("productBean1");
        out.println(pb);
    }
    
    public static void NonStaticFactoryTest(){
        ProductBean pb = (ProductBean)ctx.getBean("productBean2");
        out.println(pb);
    }

}

Spring工厂注入例子相关推荐

  1. spring依赖注入三种方式

    首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入. 依赖注入是指:让调用类对某一接口的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Spring容器中 ...

  2. Spring内核研究-通过工厂注入

    Spring专门设计了对工厂模式支持,你可以使用静态工厂方法来创建一个Bean,也可以使用实例工厂的方法来创建Bean.下面分别介绍这2种方法. 静态工厂注入     定义一个Bean使用自己类上的静 ...

  3. 【Spring 工厂】反转控制与依赖注入、Spring工厂创建复杂对象3种方式

    反转控制与依赖注入 反转控制 与 依赖注入 反转控制(IOC Inverse of Control) 依赖注入 (Dependency Injection - DI) Spring工厂创建复杂对象(3 ...

  4. 【Spring 工厂】注入详解 — Set注入(JDK内置类型,用户自定义类型)、构造注入(重载)

    Spring 注入(Injection) 什么是注入? 为什么要注入? 如何进行注入[开发步骤] Spring注入的原理分析(简易版) Set注入详解 JDK内置类型 String+8种基本类型 数组 ...

  5. Spring 依赖注入方式详解

    平常的Java开发中,程序员在某个类中需要依赖其它类的方法. 通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理. Spring提出了依赖注入的思想,即依赖类不由 ...

  6. diy实现spring依赖注入

    [README] 本文diy代码实现了 spring 依赖注入,一定程度上揭示了依赖注入原理: [1]控制反转-Inversion of Control 是一种编码思想,简而言之就是 应用程序A可以使 ...

  7. Spring 依赖注入的理解及三种注入方式

    Spring 依赖注入概念和三种注入方式(理解及应用) 什么是注入 要了解Spring的三种注入方式首先前提是得先了解一下什么是注入,相信很多人对这个概念都是模糊不清的,网上的解释是这样的: 依赖注入 ...

  8. spring依赖注入的四种方式

    平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...

  9. Spring依赖注入和循环依赖问题分析

    Spring源码揭秘之依赖注入和循环依赖问题分析 前言 依赖注入的入口方法 依赖注入流程分析 AbstractBeanFactory#getBean AbstractBeanFactory#doGet ...

最新文章

  1. PHP zval内存回收机制和refcount_gc和is_ref_gc
  2. python肘部法则 最优分类
  3. DL之self-attention:self-attention自注意力机制的简介、应用之详细攻略
  4. 基于某网站的信息爬取与保存
  5. html5 ajax数据显示,html5的ajax学习(二)
  6. 设计模式之创建者模式
  7. 智能投影:下一个传统投影的颠覆者
  8. POJ 1149(最大流)
  9. 小米路由器爆款产品遭遇友商恶意抹黑 官方怒晒黑稿...
  10. JZ3-从尾到头打印链表
  11. apiCloud中aui获取不到高度,pos.h为0,offsetHeight为0问题
  12. 两转变两服务器,两大服变鬼两老服制霸,《魔兽世界》怀旧免转结束后的服务器调查...
  13. 操作系统实验报告fcfs算法c语言,操作系统实验报告 作业调度实验报告...
  14. 【重装Windows的十大理由】
  15. 计算机模拟 matlab,MATLAB计算机模拟实例课件.ppt
  16. 责任链模式的高级用法
  17. php后缀名隐藏,php怎样隐藏后缀名
  18. 黑马程序员-微信小程序-原生框架——购物平台-分类页面
  19. 如何在旋转屏幕后不再重建Activity
  20. PHP最好的培训学校-兄弟连IT教育

热门文章

  1. python人脸识别毕业设计-Python基于Dlib的人脸识别系统的实现
  2. python入门教程2word-使用python操作word
  3. python学习方向-Python方向(转载)
  4. python培训班哪些比较好-哪家python培训班比较好?2018年如何选择
  5. python代码块使用缩进表示-Python 为什么使用缩进来划分代码块?
  6. java和python的web自动化有什么区别-Python和Java哪个更适合做自动化测试?
  7. python爬虫从基础到实战-2019-08-05 《python爬虫开发:从入门到实战》
  8. python绘制条形图-python matplotlib库绘制条形图练习题
  9. python实现文件下载-Python 实现文件下载
  10. python xpath语法-Python Xpath语法