java setter 注入_Spring教程 - Spring Setter注入

Spring教程 - Spring Setter注入

Spring Setter注入是最流行和简单的依赖注入方法,它将通过setter方法注入依赖关系。

在Setter依赖注入中,IoC容器注入一个Java Bean的依赖通过JavaBean风格的setter方法。

Java Bean的setters公开了IoC容器可以管理的依赖关系。

在实践中,Setter注射是最广泛使用的注射机制,它是一个最简单的IoC机制来实现。

例子

假设我们定义了以下接口和Java bean。

package com.www.w3cschool.cnmon;

public interface Printer

{

public void print();

}

之后,我们将创建CSV打印机,将输出CSV格式的数据。CSV打印机实现打印机接口。

package com.www.w3cschool.cnmon;

public class CSVPrinter implements Printer

{

public void print(){

System.out.println("Csv Output Printer");

}

}

然后是时间创建JSON打印机将输出JSON格式的消息。JSON打印机还实现了打印机接口。

package com.www.w3cschool.cnmon;

public class JSONPrinter implements Printer

{

public void print(){

System.out.println("Json Output Printer");

}

}

通过使用Spring依赖注入(DI),我们可以在Spring配置XML文件中声明Java Bean。 然后在xml文件中连接Java Bean。这样Spring可以使我们的打印机松散耦合到不同的打印机实现。

通过使用Spring依赖注入(DI),我们可以在Spring配置XML文件中声明Java Bean。 然后在xml文件中连接Java Bean。这样Spring可以使我们的打印机松散耦合到不同的打印机实现。...

package com.www.w3cschool.cnmon;

public class OutputHelper

{

Printer outputGenerator;

public void print(){

outputGenerator.print();

}

public void setOutputGenerator(Printer outputGenerator){

this.outputGenerator = outputGenerator;

}

}

XML配置

然后我们要创建一个Spring bean配置文件并在此处声明所有Java对象依赖关系。

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标签在Spring配置xml文件中声明了两个Java Bean。

在声明之后,我们可以使用id值来引用Java Bean。

以下xml bean标记声明了OutputHelper和通过使用属性标记通过setter注入注入依赖。

在上面的代码中,我们只是注入一个“com.www.w3cschool.cnmon.CSVPrinter"bean通过setter方法setOutput Generator转换为“Output Helper"对象。

加载配置和运行

以下代码显示如何使用加载配置并运行它。

package com.www.w3cschool.cnmon;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {

public static void main(String[] args) {

ApplicationContext context = new ClassPathXmlApplicationContext(

"SpringBeans.xml");

OutputHelper output = (OutputHelper)context.getBean("outputHelper");

output.print();

}

}

输出

ded68d2b2cbbfb105a75516ece7d6064.png

Download Java2s_Spring_Setter_Injection.zip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值