先看非静态的

先写一个简单工厂

Java代码  
  1. package com.lbx.factory;
  2. import com.lbx.model.Car;
  3. /**
  4. * 这是非静态的工厂方法注入
  5. * @author Administrator
  6. *
  7. */
  8. public class CarFactory {
  9. public Car createHongQiCar(){
  10. Car car = new Car();
  11. car.setName("红旗");
  12. car.setSpeed("200");
  13. return car;
  14. }
  15. }

对应的bean.xml文件

Xml代码  
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans
  3. xmlns="http://www.springframework.org/schema/beans"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xmlns:p="http://www.springframework.org/schema/p"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
  8. <bean id="carFactory" class="com.lbx.factory.CarFactory"></bean>
  9. <bean id="car" factory-bean="carFactory" factory-method="createHongQiCar"></bean>
  10. </beans>

再看静态的(无需依赖工厂的bean)

工厂类

Java代码  
  1. package com.lbx.factory;
  2. import com.lbx.model.Car;
  3. /**
  4. * 这是静态的工厂方法注入
  5. * @author Administrator
  6. *
  7. */
  8. public class CarFactory2 {
  9. public static Car createHongQiCar(){
  10. Car car = new Car();
  11. car.setName("红旗");
  12. car.setSpeed("200");
  13. return car;
  14. }
  15. }

对应的bean2.xml文件

Java代码  
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans
  3. xmlns="http://www.springframework.org/schema/beans"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xmlns:p="http://www.springframework.org/schema/p"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
  8. <bean id="car" class="com.lbx.factory.CarFactory2" factory-method="createHongQiCar"></bean>
  9. </beans>

工厂方法注入(静态和非静态)相关推荐

  1. Spring 注入方式之工厂方法注入

    有时候,静态工厂方法是实例化对象的唯一方法,Spring支持通过<bean>元素的factory-method属性来装配工厂创建的Bean. 单例模式(设计模式) public class ...

  2. java中静态是什么,java中静态和非静态有什么区别

    首先我们先来说说jvm内存模型: jvm内存分为:方法区.堆.栈和程序计数器. 下面我们来简单的说说方法区.栈和堆: 方法区:是各个线程共享的区域,存放类信息/常量/静态变量: 栈:其实每个线程都会分 ...

  3. C#基础--类/接口/成员修饰符,多态、重载、重写,静态和非静态

    C#基础--类/接口/成员修饰符,多态.重载.重写,静态和非静态 类/接口/成员修饰符 C#修饰符---接口: 接口默认访问符是internal 接口的成员默认访问修饰符是public C#修饰符-- ...

  4. static的应用以及静态与非静态的区别

    先前看到一个技术大牛写了一个关于静态成员与非静态成员,静态方法和非静态方法的各自区别,觉得挺好的,在这里写一个小程序来说明这些区别. package com.liaojianya.chapter5; ...

  5. 第十七节:易混淆的概念(静态和非静态、拆箱和装箱)

    一. 静态和非静态 1. 概念介绍 ① 静态类(被static修饰) vs  普通类(没有被static修饰) ② 静态成员:被static修饰的成员,比如:静态方法.静态字段等 ③ 普通成员(实例成 ...

  6. java 静态与非静态之间的访问规则简述

    java 静态与非静态之间的访问规则简述 1.静态与静态之间直接访问 2.非静态(实例级别)访问静态直接访问 3.静态访问非静态(实例级别),必须先创建对象再访问 package com.qfedu. ...

  7. C# 静态和非静态的区别

    静态标记 – static //静态方法 public static void Max(){ } //非静态方法 public void Max(){ }//静态类 public static cla ...

  8. 开发三年,java静态和非静态的这些弯弯绕绕你真的知道吗?

    问 Java 中,为什么不允许从静态方法中访问非静态变量? 了解特点 静态方法.属性:类加载时调用创建,通过类名直接调用,子类可继承不可重写 普通方法.属性:new对象时创建.注意new对象的时候 静 ...

  9. C# 面向对象编程 1 面向对象类,静态和非静态的区别,构造函数,new关键字 ,析构函数

    C# 面向对象编程 1 文章目录 C# 面向对象编程 1 1.面向过程-----> 面向对象 2.类 3.静态和非静态的区别 4.构造函数 5.new关键字 6. 析构函数 1.面向过程---- ...

最新文章

  1. 计算机管理员身份有哪些优点,重装系统有什么好处?有哪些理由值得让电脑重装系统?...
  2. python3下载安装配置-Linux 安装python3.7.3
  3. C#使用RSA加密解密文件
  4. Python-自定义函数-参数
  5. html文件已传入服务器,把html文件上传到云服务器
  6. 程序员加班很严重吗?看看国外程序员怎么怼老板!
  7. NB-IOT(5)---关于NB-IoT的十大问题和答案
  8. 除夕年味年夜饭海报PSD素材,盛了一年的思念
  9. CentOS 7 安装Docker
  10. VS2008编译错误:error PRJ0003 生成 cmd.exe 时出错
  11. Java函数参数传递方式
  12. 浏览器右下角总是弹出广告
  13. element-ui 导航栏三级
  14. cve_2019_0708 bluekeep复现踩坑
  15. If python is on the left-most side of the chain, that‘s the version you‘ve asked for.
  16. 二层交换机、三层交换机及四层交换机的区别
  17. Docker专题(六)-Docker镜像详解
  18. 有关上传到APPStore上iphone5,5c,4s下载应用,出现该APP与设备不兼容问题
  19. 神一般的科学“超人”尼古拉-特斯拉!
  20. ECharts在线编辑 中国地图数据可视化 展示

热门文章

  1. python绘制立体玫瑰花-Python 玫瑰花绘制
  2. python有哪些作用-python是什么 特点及功能
  3. python程序实例教程基础-Python程序设计实例教程
  4. python软件界面-用Html来写Python桌面软件的UI界面-htmlPy
  5. python可以自学吗-python可以自学吗
  6. python 是什么类型的语言-python是一种什么类型的语言
  7. python面试题及答案-5个很好的Python面试题问题答案及分析
  8. python下载word文件-python-docx操作word文件(
  9. php和python写爬虫-一个简单的Python写的XML爬虫
  10. python显示无效语法怎么处理-python – 无效语法(对于循环括号/括号)