Spring DI via setter method
来源:互联网 发布:可以手写的软件 编辑:程序博客网 时间:2024/06/04 17:40
A simple Spring example to show you how to dependency inject a bean via setter method, the most common used DI method.
1. IOutputGenerator
An interface and implemntation class of it.
package com.mkyong.output;public interface IOutputGenerator{ public void generateOutput();}package com.mkyong.output.impl;import com.mkyong.output.IOutputGenerator;public class CsvOutputGenerator implements IOutputGenerator { public void generateOutput() { System.out.println("This is Csv Output Generator"); }}
2. Helper class
A helper class, later use Spring to DI the IOutputGenerator
.
package com.mkyong.output;import com.mkyong.output.IOutputGenerator;public class OutputHelper { IOutputGenerator outputGenerator; public void generateOutput() { outputGenerator.generateOutput(); } //DI via setter method public void setOutputGenerator(IOutputGenerator outputGenerator) { this.outputGenerator = outputGenerator; }}
3. Spring configuration
Configure bean in Spring configuration file, and reference the bean “CsvOutputGenerator
” into “OutputHelper
”, via property
tag, ref
attribute.
In this case, Spring will DI the bean “CsvOutputGenerator
” into “OutputHelper
” class, via setter method “setOutputGenerator(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.mkyong.output.OutputHelper"> <property name="outputGenerator" ref="CsvOutputGenerator" /> </bean> <bean id="CsvOutputGenerator" class="com.mkyong.output.impl.CsvOutputGenerator" /></beans>
4. Run it
Load everything, and run it.
package com.mkyong.common;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.mkyong.output.OutputHelper;public class App { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext( "SpringBeans.xml"); OutputHelper output = (OutputHelper)context.getBean("OutputHelper"); output.generateOutput(); }}
Output
This is Csv Output Generator
0 0
- Spring DI via setter method
- Spring DI via setter method
- Spring DI via constructor
- Spring DI via constructor
- Spring DI(依赖注入)-之SETTER方法
- spring setter方法依赖注入(DI)原理
- Spring入门之setter DI注入
- Spring的依赖注入(DI)之Setter注入(2)
- 使用Spring(三)依赖注入DI(Setter DI,构造器注入)
- Spring DI依赖注入setter,构造,注解,三种依赖方式的总结
- spring di
- Spring DI
- Spring DI
- Spring()---DI
- Spring DI
- spring di
- spring DI
- spring DI
- iframe调用后台方法通过response返回html代码
- UVA 4857 Halloween Costumes 区间背包
- android 5.0 Material Design酷炫风格的开源项目集合
- android scrollview listview (GridView)显示不全
- 解决64位windows server 2008上调用Excel组件出现0x800A03EC错误
- Spring DI via setter method
- (技术前沿)Xcode6 矢量图pdf取代png
- 线程1:临界区,解决线程访问冲突问题
- POJ 2945 Find the Clones 水
- Android程序如何判断是不是第一次启动
- 设置UIView的背景色和背景图片
- arm平台tslib的编译与Qte源代码包配置中的-qt-mouse-tslib
- Unity3D NGUI事件 UIEvents
- 齐纳二极管