工厂方法注入(静态和非静态)
先看非静态的
先写一个简单工厂
- package com.lbx.factory;
- import com.lbx.model.Car;
- /**
- * 这是非静态的工厂方法注入
- * @author Administrator
- *
- */
- public class CarFactory {
- public Car createHongQiCar(){
- Car car = new Car();
- car.setName("红旗");
- car.setSpeed("200");
- return car;
- }
- }
对应的bean.xml文件
- <?xml version="1.0" encoding="UTF-8"?>
- <beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:p="http://www.springframework.org/schema/p"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <bean id="carFactory" class="com.lbx.factory.CarFactory"></bean>
- <bean id="car" factory-bean="carFactory" factory-method="createHongQiCar"></bean>
- </beans>
再看静态的(无需依赖工厂的bean)
工厂类
- package com.lbx.factory;
- import com.lbx.model.Car;
- /**
- * 这是静态的工厂方法注入
- * @author Administrator
- *
- */
- public class CarFactory2 {
- public static Car createHongQiCar(){
- Car car = new Car();
- car.setName("红旗");
- car.setSpeed("200");
- return car;
- }
- }
对应的bean2.xml文件
- <?xml version="1.0" encoding="UTF-8"?>
- <beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:p="http://www.springframework.org/schema/p"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <bean id="car" class="com.lbx.factory.CarFactory2" factory-method="createHongQiCar"></bean>
- </beans>
工厂方法注入(静态和非静态)相关推荐
- Spring 注入方式之工厂方法注入
有时候,静态工厂方法是实例化对象的唯一方法,Spring支持通过<bean>元素的factory-method属性来装配工厂创建的Bean. 单例模式(设计模式) public class ...
- java中静态是什么,java中静态和非静态有什么区别
首先我们先来说说jvm内存模型: jvm内存分为:方法区.堆.栈和程序计数器. 下面我们来简单的说说方法区.栈和堆: 方法区:是各个线程共享的区域,存放类信息/常量/静态变量: 栈:其实每个线程都会分 ...
- C#基础--类/接口/成员修饰符,多态、重载、重写,静态和非静态
C#基础--类/接口/成员修饰符,多态.重载.重写,静态和非静态 类/接口/成员修饰符 C#修饰符---接口: 接口默认访问符是internal 接口的成员默认访问修饰符是public C#修饰符-- ...
- static的应用以及静态与非静态的区别
先前看到一个技术大牛写了一个关于静态成员与非静态成员,静态方法和非静态方法的各自区别,觉得挺好的,在这里写一个小程序来说明这些区别. package com.liaojianya.chapter5; ...
- 第十七节:易混淆的概念(静态和非静态、拆箱和装箱)
一. 静态和非静态 1. 概念介绍 ① 静态类(被static修饰) vs 普通类(没有被static修饰) ② 静态成员:被static修饰的成员,比如:静态方法.静态字段等 ③ 普通成员(实例成 ...
- java 静态与非静态之间的访问规则简述
java 静态与非静态之间的访问规则简述 1.静态与静态之间直接访问 2.非静态(实例级别)访问静态直接访问 3.静态访问非静态(实例级别),必须先创建对象再访问 package com.qfedu. ...
- C# 静态和非静态的区别
静态标记 – static //静态方法 public static void Max(){ } //非静态方法 public void Max(){ }//静态类 public static cla ...
- 开发三年,java静态和非静态的这些弯弯绕绕你真的知道吗?
问 Java 中,为什么不允许从静态方法中访问非静态变量? 了解特点 静态方法.属性:类加载时调用创建,通过类名直接调用,子类可继承不可重写 普通方法.属性:new对象时创建.注意new对象的时候 静 ...
- C# 面向对象编程 1 面向对象类,静态和非静态的区别,构造函数,new关键字 ,析构函数
C# 面向对象编程 1 文章目录 C# 面向对象编程 1 1.面向过程-----> 面向对象 2.类 3.静态和非静态的区别 4.构造函数 5.new关键字 6. 析构函数 1.面向过程---- ...
最新文章
- 计算机管理员身份有哪些优点,重装系统有什么好处?有哪些理由值得让电脑重装系统?...
- python3下载安装配置-Linux 安装python3.7.3
- C#使用RSA加密解密文件
- Python-自定义函数-参数
- html文件已传入服务器,把html文件上传到云服务器
- 程序员加班很严重吗?看看国外程序员怎么怼老板!
- NB-IOT(5)---关于NB-IoT的十大问题和答案
- 除夕年味年夜饭海报PSD素材,盛了一年的思念
- CentOS 7 安装Docker
- VS2008编译错误:error PRJ0003 生成 cmd.exe 时出错
- Java函数参数传递方式
- 浏览器右下角总是弹出广告
- element-ui 导航栏三级
- cve_2019_0708 bluekeep复现踩坑
- If python is on the left-most side of the chain, that‘s the version you‘ve asked for.
- 二层交换机、三层交换机及四层交换机的区别
- Docker专题(六)-Docker镜像详解
- 有关上传到APPStore上iphone5,5c,4s下载应用,出现该APP与设备不兼容问题
- 神一般的科学“超人”尼古拉-特斯拉!
- ECharts在线编辑 中国地图数据可视化 展示
热门文章
- python绘制立体玫瑰花-Python 玫瑰花绘制
- python有哪些作用-python是什么 特点及功能
- python程序实例教程基础-Python程序设计实例教程
- python软件界面-用Html来写Python桌面软件的UI界面-htmlPy
- python可以自学吗-python可以自学吗
- python 是什么类型的语言-python是一种什么类型的语言
- python面试题及答案-5个很好的Python面试题问题答案及分析
- python下载word文件-python-docx操作word文件(
- php和python写爬虫-一个简单的Python写的XML爬虫
- python显示无效语法怎么处理-python – 无效语法(对于循环括号/括号)