Spring框架 constructor-arg注入

本文介绍了如何在Spring框架中使用XML配置进行constructor-arg注入,通过创建BraveKnight、SlayDragonQuest类及Quest接口,展示了如何配置bean并测试注入的正确性。

首先那些安装JDK、eclipse就不说了~

其次是classpath 问题:

Spring框架的官方网站:

http://projects.spring.io/spring-framework/



官网首页就是这行字~

可以在github上找到下载内容,我的版本是3.1.0 还有一个commons logging我也不知道真有用还是假有用~哈哈~


然后创建一个工程SpringTest


接下来就需要导入一些Spring框架的文件了....







工程SpringTest下属创建一个名叫 :com.springinaction.knights的包

首先弄一个BraveKnight(勇敢的骑士)类

package com.springinaction.knights;

public class BraveKnigth implements Knight{


private Quest quest;
public BraveKnigth(Quest quest){
this.quest = quest;//Quest被注入进来
}

@Override
public void embarkOnQuest(){
quest.embark();
}
}

当然骑士类是这样的:

package com.springinaction.knights;

public interface Knight {
void embarkOnQuest();
}

然后有个SlayDragonQuest类继承的是Quest接口

长成这样

package com.springinaction.knights;


public class SlayDragonQuest implements Quest{


@Override
public void embark() {
System.out.println("SlayDragonQuest play~");
}

}

Quest接口这样

package com.springinaction.knights;


public interface Quest {
public void embark();
}

利用XML文件的方式进行注入哈~

名字叫knights.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-3.0.xsd">
    <bean id="knight" class="com.springinaction.knights.BraveKnigth">
    <constructor-arg ref="quest" />
    </bean>
    <bean id="quest" class="com.springinaction.knights.SlayDragonQuest" />
</beans>

 接下来就可以测试一下了:

KnightMain.java

package com.springinaction.knights;


import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class KnightMain {


public static void main(String[] args) {
ApplicationContext context = 
new ClassPathXmlApplicationContext("knights.xml");
Knight knight = (Knight) context.getBean("knight");
knight.embarkOnQuest();
}
}

我的运行结果如下:



以上红色的是Spring的提示信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值