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);

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容