【Spring 使用】依赖注入 -- 基于 setter 方法的注入

【Spring 使用】依赖注入 – 基于 setter 方法的注入



一、基于 setter 方法的注入

基于 setter 方法注入的方式和普通 Bean 进行值的注入相似,都是使用 property 进行注入,只不过不是使用 value 进行值注入,而是使用 ref 进行对象的引用。

1. 使用例子

  • 目录结构:
|-- src.main
	|-- java.com.test
		|-- Main.java
		|-- TestDIClass.java
		|-- SubTestDIClass.java
	|-- resources
	    |-- MyBean.xml
  • TestDIClass.java:
public class TestDIClass {  
  
    private SubTestDIClass subTestDIClass;  
  
    public void setSubTestDIClass(SubTestDIClass subTestDIClass) {
        System.out.println("TestDIClass 构造");
        this.subTestDIClass = subTestDIClass;
    }
  
    public void test() {
        subTestDIClass.test();
    }
}
  • SubTestDIClass.java:
public class SubTestDIClass {  
  
    public SubTestDIClass() {  
        System.out.println("SubTestDIClass 构造");  
    }  
  
    public void test() {  
        System.out.println("SubTestDIClass 的测试方法");  
    }  
}
  • MyBean.xml:
<?xml version="1.0" encoding="UTF-8"?>  
<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.xsd">  
  
	<bean id="testDIClass" class="com.test.TestDIClass">  
	    <property name="subTestDIClass" ref="subTestDIClass" />
	</bean>  
	  
	<bean id="subTestDIClass" class="com.test.SubTestDIClass" />
</beans>
  • Main.java:
public class Main {

    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("MyBean.xml");  
        TestDIClass myBean = (TestDIClass) context.getBean("testDIClass");  
        myBean.test();
    }  
}
  • 结果:
SubTestDIClass 构造
TestDIClass 构造
SubTestDIClass 的测试方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞎叨叨的一天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值