package com.h3.output;
public interface ioutputgenerator
{
public void generateoutput();
}
package com.h3.output.impl;
import com.h3.output.ioutputgenerator;
public class jsonoutputgenerator implements ioutputgenerator
{
public void generateoutput(){
system.out.println("this is json output generator");
}
}
package com.h3.output;
import com.h3.output.ioutputgenerator;
public class outputhelper {
ioutputgenerator outputgenerator;
public void generateoutput() {
outputgenerator.generateoutput();
}
//di via constructor
public outputhelper(ioutputgenerator outputgenerator){
this.outputgenerator = outputgenerator;
}
}
请参阅下面的 spring bean 配置,spring 将通过构造函数注入上面的 “jsonoutputgenerator” 到 “outputhelper” 类,“public outputhelper(ioutputgenerator outputgenerator)“.
<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-2.5.xsd"> <bean id="outputhelper" class="com.h3.output.outputhelper"> <constructor-arg> <ref bean="jsonoutputgenerator" /> </constructor-arg> </bean> <bean id="jsonoutputgenerator" class="com.h3.output.impl.jsonoutputgenerator" /> </beans>
package com.h3.common;
import org.springframework.context.applicationcontext;
import org.springframework.context.support.classpathxmlapplicationcontext;
import com.h3.output.outputhelper;
public class app {
public static void main(string[] args) {
applicationcontext context = new classpathxmlapplicationcontext(
"applicationcontext.xml"); outputhelper output = (outputhelper)context.getbean("outputhelper");
output.generateoutput();
}
}
输出结果
this is json output generator