不多说,直接上图,上代码。
Printer类:
package com.edu.printer;
public class Printer {
private String msg;
public void setMsg(String msg) {
this.msg = msg;
}
public void priter(){
System.out.println(msg);
}
}
为msg提供setter方法,方便注入。
spring的配置文件 beans.xml
<bean name="printer" class="com.edu.printer.Printer">
<property name="msg" value="通过msg的setter方法为msg属性注入值"></property>
</bean>
把value的值通过setter方法赋给Printer类中的属性msg。
JUnit测试:
package com.edu.priter;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.edu.printer.Printer;
public class PriterTest {
@Test
public void test() {
ApplicationContext appc = new
ClassPathXmlApplicationContext("beans.xml");
Printer p = (Printer) appc.getBean("printer");
p.priter();
}
}
测试结果:
注意:spring通过setter方法注入,所以在配置文件中传入name属性的值要和sette方法(去掉set首字母小写)一致。
也就是说setter方法改成
private String msg;
public void setMessage(String msg) {
this.msg = msg;
}