Spring 支持Set注入和构造注入,但更推荐使用Set注入。
下面举个例子采用构造注入方式实现:
思路:首先修改类HelloWorld,在改类中增加一个构造方法,然后修改spring的配置文件config.xml,最后编写测试程序TestCase.java
1.编写一个spring 的HelloWorld实例具体操作
/***ChHelloWorld*******/
package com.gc.action;
import com.gc.impl.Hello;
public class ChHelloWorld implements Hello {
private String message = null;
public ChHelloWorld(String message){//这里就是新增的构造方法
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@Override
public String dosay() {
return "你好" + this.message;
}
}
/***************Hello.java***************/
package com.gc.impl;
public interface Hello {
public String dosay();
}
/****************TestCase.java**********/
package com.gc.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.gc.action.ChHelloWorld;
public class TestCase {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
ChHelloWorld object = (ChHelloWorld)context.getBean("helloworld");
System.out.println(object.getMessage());
}
}
配置文件
constructor-arg,用来表示通过构造方式注入参数
index=“0”,表示构造方法中的第一个参数,如果只有一个参数,则可以不用设置这个属性值