file : ioutputgenerator.java – 输出生成器接口
package com.h3.output;
public interface ioutputgenerator
{
public void generateoutput();
}
file : csvoutputgenerator.java – 一个csv输出生成器用来实现ioutputgenerator接口。
package com.h3.output.impl;
import com.h3.output.ioutputgenerator;
public class csvoutputgenerator implements ioutputgenerator
{
public void generateoutput(){
system.out.println("csv output generator");
}
}
file : jsonoutputgenerator.java – 一个json输出生成器用来实现ioutputgenerator接口。
package com.h3.output.impl;
import com.h3.output.ioutputgenerator;
public class jsonoutputgenerator implements ioutputgenerator
{
public void generateoutput(){
system.out.println("json output generator");
}
}
package com.h3.common;
import com.h3.output.ioutputgenerator;
import com.h3.output.impl.csvoutputgenerator;
public class app
{
public static void main( string[] args )
{
ioutputgenerator output = new csvoutputgenerator();
output.generateoutput();
}
}
存在问题
package com.h3.output;
import com.h3.output.ioutputgenerator;
import com.h3.output.impl.csvoutputgenerator;
public class outputhelper
{
ioutputgenerator outputgenerator;
public outputhelper(){
outputgenerator = new csvoutputgenerator();
}
public void generateoutput(){
outputgenerator.generateoutput();
}
}
package com.h3.common;
import com.h3.output.outputhelper;
public class app
{
public static void main( string[] args )
{
outputhelper output = new outputhelper();
output.generateoutput();
}
}
存在问题
package com.h3.output;
import com.h3.output.ioutputgenerator;
public class outputhelper
{
ioutputgenerator outputgenerator;
public void generateoutput(){
outputgenerator.generateoutput();
}
public void setoutputgenerator(ioutputgenerator outputgenerator){
this.outputgenerator = outputgenerator;
}
}
<!-- spring-common.xml --> <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"> <property name="outputgenerator" ref="csvoutputgenerator" /> </bean> <bean id="csvoutputgenerator" class="com.h3.output.impl.csvoutputgenerator" /> <bean id="jsonoutputgenerator" class="com.h3.output.impl.jsonoutputgenerator" /> </beans>
通过spring来调用它
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(new string[] {"spring-common.xml"});
outputhelper output = (outputhelper)context.getbean("outputhelper");
output.generateoutput();
}
}