Spring入门之setter DI注入

来源:互联网 发布:stm32用什么软件编程 编辑:程序博客网 时间:2024/06/10 15:53

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{@Overridepublic void generateOutput() {// TODO Auto-generated method stubSystem.out.println("CSV output Generator");}}

JsonOutputGenerator.java

package com.spring.output;public class JsonOutputGenerator implements IOutputGenerator{@Overridepublic void generateOutput() {// TODO Auto-generated method stubSystem.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"?><beansxmlns="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>


7、测试:

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 stubApplicationContext 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


0 0
原创粉丝点击