Spring使用Setter依赖注入
2016-07-30 18:03
246 查看
一个简单的Spring例子来展示如何通过setter方法注入依赖项,最常用DI方法注入bean。
在这种情况下,Spring将通过setter方法注入Bean “CsvOutputGenerator” 到“OutputHelper”类,
“setOutputGenerator(IOutputGenerator outputGenerator)”.
输出结果
1. IOutputGenerator
接口和实现类package faj.test.javademo.set; /** * Created by JiaGao on 2016/7/30. */ public interface IOutputGenerator { void generateOutput(); }
package faj.test.javademo.set; /** * Created by JiaGao on 2016/7/30. */ public class CsvOutputGenerator implements IOutputGenerator { @Override public void generateOutput() { System.out.println("This is Csv Output Generator"); } }
2. Helper类
一个辅助类,之后使用Spring 来注入 IOutputGenerator。package faj.test.javademo.set; public class OutputHelper { private IOutputGenerator outputGenerator; public void generateOutput() { outputGenerator.generateOutput(); } //DI via setter method public void setOutputGenerator(IOutputGenerator outputGenerator) { this.outputGenerator = outputGenerator; } }
3. Spring配置
配置Bean在Spring配置文件,并引用Bean “CsvOutputGenerator” 到 “OutputHelper”,通过property 和 ref 标签。在这种情况下,Spring将通过setter方法注入Bean “CsvOutputGenerator” 到“OutputHelper”类,
“setOutputGenerator(IOutputGenerator outputGenerator)”.
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" 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 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <bean id="CsvOutputGenerator" class="faj.test.javademo.set.CsvOutputGenerator" /> <bean id="OutputHelper" class="faj.test.javademo.set.OutputHelper"> <property name="outputGenerator" ref="CsvOutputGenerator" /> </bean> </beans>
4. 执行结果
载入一切东西,并运行它。package faj.test.javademo.set; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * Created by JiaGao on 2016/7/30. */ public class App1 { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("faj/test/javademo/set/applicationContext.xml"); OutputHelper output = (OutputHelper)context.getBean("OutputHelper"); output.generateOutput(); } }
输出结果
This is Csv Output Generator
相关文章推荐
- Spring使用Setter依赖注入
- Spring使用Setter依赖注入
- Spring第六弹—-依赖注入之使用构造器注入与使用属性setter方法注入
- spring2.5 依赖注入--setter
- (6) Spring 如何装配 集合类 以及 【第二种 依赖注入 方式】使用 构造器 注入
- 使用XPath解析xml实现简单的Spring IOC完成bean的依赖注入
- 有关spring的依赖注入和@resource注解的使用
- Spring依赖注入方式_属性setter方法注入_构造器注入_注解注入
- spring使用aop时需要设置proxy-target-class="true" 否则无法依赖注入
- Spring中依赖注入的使用和配置
- Spring_3_Spring的依赖注入_setter方法和构造函数方法
- 使用spring的aop实现拦截action后出现依赖注入为空的问题
- (5) Spring 如何装配 集合类 以及 【第二种 依赖注入 方式】使用 构造器 注入
- 使用spring注入时出现is not writable or has an invalid setter method
- 使用Spring.Net对Web页面进行依赖注入
- (4) 利用 Setter方式实现 【第一种方式】 依赖注入,编码剖析Spring依赖注入的原理
- 使用dom4j:读取spring配置文件,实例化bean对象并注入依赖对象
- Spring-Context之六:基于Setter方法进行依赖注入
- 【Spring】Spring依赖注入IOC的设值注入setter
- 使用spring注入时出现is not writable or has an invalid setter method