1、新建Java项目导入依赖jar包,参考前一章
2、以不同文件格式输出为例
3、定义接口IOutputGenerator.java
package com.spring.output; public interface IOutputGenerator { public void generateOutput(); }
4、CsvOutputGenerator和JsonOutputGenerator类,分别实现接口
CsvOutputGenerator.java
package com.spring.output; public class CsvOutputGenerator implements IOutputGenerator{ @Override public void generateOutput() { // TODO Auto-generated method stub System.out.println("CSV output Generator"); } }
JsonOutputGenerator.java
package com.spring.output; public class JsonOutputGenerator implements IOutputGenerator{ @Override public void generateOutput() { // TODO Auto-generated method stub System.out.println("Json output Generator"); } }
5、编写辅助类,通过setter注入
OutputHelper.java
package com.spring.output; public class OutputHelper { IOutputGenerator outputGenerator; public void generateOutput(){ outputGenerator.generateOutput(); } public void setOutputGenerator(IOutputGenerator outputGenerator) { this.outputGenerator = outputGenerator; } }
6、编辑beans.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="OutputHelper" class="com.spring.output.OutputHelper"> <property name="outputGenerator" ref="JsonOutputGenerator"></property> </bean> <bean id="CsvOutputGenerator" class="com.spring.output.CsvOutputGenerator"></bean> <bean id="JsonOutputGenerator" class="com.spring.output.JsonOutputGenerator"></bean> </beans>
package com.spring.output; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub ApplicationContext content = new ClassPathXmlApplicationContext("beans.xml"); OutputHelper outputHelper = (OutputHelper) content.getBean("OutputHelper"); outputHelper.generateOutput(); } }
8、可修改beans.xml中的ref的值
<property name="outputGenerator" ref=""></property>
9、运行结果
Json output Generator