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