Spring使用Setter依赖注入

来源:互联网
更新时间:2017/1/17 1:17:37
责任编辑:王亮
字体:

一个简单的Spring例子来展示如何通过setter方法注入依赖项,最常用DI方法注入bean。

   1. IOutputGenerator

  接口和实现类  
1 package faj.test.javademo.set;
2 
3 /**
4  * Created by JiaGao on 2016/7/30.
5  */
6 public interface IOutputGenerator {
7     void generateOutput();
8 }
 1 package faj.test.javademo.set;
 2 
 3 /**
 4  * Created by JiaGao on 2016/7/30.
 5  */
 6 public class CsvOutputGenerator implements IOutputGenerator {
 7     @Override
 8     public void generateOutput() {
 9         System.out.println("This is Csv Output Generator");
10     }
11 }

   2. Helper类

一个辅助类,之后使用Spring 来注入 IOutputGenerator。  
 1 package faj.test.javademo.set;
 2 
 3 public class OutputHelper {
 4     private IOutputGenerator outputGenerator;
 5     public void generateOutput() {
 6         outputGenerator.generateOutput();
 7     }
 8     //DI via setter method
 9     public void setOutputGenerator(IOutputGenerator outputGenerator) {
10         this.outputGenerator = outputGenerator;
11     }
12 }

   3. Spring配置

配置Bean在Spring配置文件,并引用Bean “CsvOutputGenerator” 到 “OutputHelper”,通过property 和 ref 标签。

在这种情况下,Spring将通过setter方法注入Bean “CsvOutputGenerator” 到“OutputHelper”类,

“setOutputGenerator(IOutputGenerator outputGenerator)”.  

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xsi:schemaLocation="http://www.springframework.org/schema/beans
 6            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
 7            http://www.springframework.org/schema/context
 8                http://www.springframework.org/schema/context/spring-context-2.5.xsd">
 9     <bean id="CsvOutputGenerator" class="faj.test.javademo.set.CsvOutputGenerator" />
10 
11     <bean id="OutputHelper" class="faj.test.javademo.set.OutputHelper">
12         <property name="outputGenerator" ref="CsvOutputGenerator" />
13     </bean>
14 </beans>

   4. 执行结果

载入一切东西,并运行它。  
 1 package faj.test.javademo.set;
 2 
 3 import org.springframework.context.ApplicationContext;
 4 import org.springframework.context.support.ClassPathXmlApplicationContext;
 5 
 6 /**
 7  * Created by JiaGao on 2016/7/30.
 8  */
 9 public class App1 {
10     public static void main(String[] args) {
11         ApplicationContext context = new ClassPathXmlApplicationContext("faj/test/javademo/set/applicationContext.xml");
12         OutputHelper output = (OutputHelper)context.getBean("OutputHelper");
13         output.generateOutput();
14     }
15 }

   输出结果

This is Csv Output Generator
 
www.xue163.com true /2791/27917250.html report 9119 Spring使用Setter依赖注入,一个简单的Spring例子来展示如何通过setter方法注入依赖项,最常用DI方法注入bean。1.IOutputGenerator接口和实现类1packagefaj.test.javademo.set;23/**4*CreatedbyJiaGaoo...
最近关注
首页推荐
热门图片
最新添加资讯
24小时热门资讯
精彩资讯
精彩推荐
热点推荐
真视界
精彩图片
社区精粹
关于本站 | 广告服务 | 手机版 | 商务合作 | 免责申明 | 招聘信息 | 联系我们
Copyright © 2004-2016 Xue163.com All Rights Reserved. 学网 版权所有
京ICP备10044368号-1 京公网安备11010802011102号
荐闻 | 学网头条知识问答 | 装修 | 作业 | 荐闻 | 学网头条精彩微信 | 新闻中心 | 软件教室 | 设计大全 | 网络相关 | 英语学习 | 开发编程 | 考试中心 | 参考范文 | 管理文库 | 营销中心 | 站长之家 | IT信息中心 | 商学院 | 数码大全 | 硬件DIY | 企业服务 | 网吧在线 | 问吧 | 百科 | 硬件知识 | 本网视点 | 文库 | 手机 | 平板 | 汽车 | 游戏 | 家电 | 精彩摄影 | 时尚科技 | 现代家居 | IT女人 | 经验 | 每日新闻 | 健康养生 | 图书馆 | 猎奇 | 精彩看点 | 图库 | 新闻中心 | 软件教室 | 设计大全 | 网络相关 | 英语学习 | 开发编程 | 考试中心 | 参考范文 | 管理文库 | 营销中心 | 站长之家 | IT信息中心 | 商学院 | 数码大全 | 硬件DIY | 企业服务 | 网吧在线 | 问吧 | 百科 | 硬件知识 | 本网视点 | 文库 | 手机 | 平板 | 汽车 | 游戏 | 家电 | 精彩摄影 | 时尚科技 | 现代家居 | IT女人 | 经验 | 每日新闻 | 健康养生 | 图书馆 | 精彩微信 | 猎奇 | 精彩看点 | 图库编程 方案 信息windows方案windows answer文档机构教育文档问答中心IT编程数码信息解决方案信息中心IT科技