Spring实现IOC 设值注入/构造注入
设值注入
创建类
package com.Insert;
public class Setting {
private String name;
public String getStudent() {
return student;
}
public void setStudent(String student) {
this.student = student;
}
private String student;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
配置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 = "setting" class = "com.Insert.Setting">
<property name = "name" value="设值注入"></property>
</bean>
</beans>
构造器注入
创建类
public class SettingT {
public SettingT(String wname) {
this.Wname = wname;
}
public String getWname() {
return Wname;
}
public void setWname(String wname) {
Wname = wname;
}
private String Wname;
}
配置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 = "settingT" class = "com.Insert.SettingT">
<constructor-arg name = "wname" value="构造器注入"></constructor-arg>
</bean>
</beans>
测试
设值注入
import com.Insert.Setting;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SetTest {
@Test
public void test() {
ClassPathXmlApplicationContext c = new ClassPathXmlApplicationContext("spring-injection-1.xml");
Setting setting = (Setting) c.getBean("setting");
System.out.println(setting.getName());
}
}
运行结果
构造器注入
import com.Insert.SettingT;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ConTest {
@Test
public void test2() {
ClassPathXmlApplicationContext c = new ClassPathXmlApplicationContext("spring-injection-2.xml");
SettingT settingt = (SettingT) c.getBean("settingT");
System.out.println(settingt.getWname());
}
}
运行结果