Spring DI via setter method
来源:互联网 发布:ubuntu jdk下载 编辑:程序博客网 时间:2024/06/05 09:05
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
- Spring loosely coupled example
- C# Language Specification 5.0 (翻译)第六章 转换
- 关于习惯的重要性
- IE11不支持Selenium 2.0的解决方法
- Spring Dependency Injection (DI)
- Spring DI via setter method
- .NET跨平台之旅:将示例站点从ASP.NET 5 Beta5升级至Beta7
- 总结下前端优化
- Spring DI via constructor
- 二叉树三种遍历的递归和迭代解法
- *LeetCode-Implement Stack using Queues
- 关于Cgroup的简单测试
- Constructor injection type ambiguities in Spring
- iOS-Http : GET : POST