IOC
Inversion of Control,即“控制反转”,控制反转就是我们不需要自己手动创建new出对象,它把我们实例化的对象都配置在xml文件中,而这种
类一般都是我们应用的业务类
IoC 容器:最主要是完成了完成对象的创建和依赖的管理注入等等。
下面演示set注入
首先简单创建一个班级类
public class Myclass {
String teacher;
public void setTeacher(String teacher) {
this.teacher = teacher;
}
@Override
public String toString() {
return "Myclass [teacher=" + teacher + "]";
}
}
再通过配置xml文件创建实例化对象
<bean id="class1" class="test_ioc.Myclass">
<property name="teacher" value="wang"></property>
</bean>
测试类
public class MyTest {
@Test
public void test() {
ApplicationContext con=new ClassPathXmlApplicationContext("bean1.xml");
Student st=(Student) con.getBean("student");
System.out.println(st.toString());
}
}
我们还可以创建一个学生类,把班级类当作属性,通过set来把班级注入学生的属性中;
学生类
public class Student {
String name;
Myclass myclass;
public void setName(String name) {
this.name = name;
}
public void setMyclass(Myclass myclass) {
this.myclass = myclass;
}
@Override
public String toString() {
return "Student [name=" + name + "]";
}
}
在xml文件中set注入对象
<bean id="class1" class="test_ioc.Myclass">
<property name="teacher" value="wang"></property>
</bean>
<bean id="student" class="test_ioc.Student">
<property name="name" value="lili"></property>
<property name="myclass" ref="class1"></property>
</bean>