Spring依赖注入的三种方式详解之三:工厂方法注入

spring框架提供了三种方式的基于xml配置依赖注入:属性注入,构造方法注入,工厂方法注入。本文举例演示工厂方法注入。

例如有类MasterC

packagecom.bwf51coding.bean;

publicclassMasterC {

privateintage;

privateStringname;

privateMasterC(intage, String name) {

this.age=age;

this.name=name;

}

privatestaticMasterCc;

publicstaticMasterC getInstance(intage, String name){

if(c==null){

c=newMasterC(age,  name);

}

returnc;

}

@Override

publicString toString() {

return"MasterC [age="+age+", name="+name+"]";

}

}

applicationContext.xml配置文件配置方式如下:

"masterc"class="com.bwf51coding.bean.MasterC"factory-method="getInstance">

undefined"40"/>undefined

undefined"Alice"/>undefined

getInstance()方法就是一个静态工厂方法,该方法唯一实例。其中的和是传递给工厂方法的参数用于实例化对象的构造方法的参数测试类代码:

package com.bwf51coding.test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.bwf51coding.bean.MasterC;

public class TestC {

public static void main(String[] args) {

ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");

MasterC masterc=(MasterC)ac.getBean("masterc");

System.out.println(masterc);

}

}

你可能感兴趣的:(Spring依赖注入的三种方式详解之三:工厂方法注入)