IOC(控制反转)
IOC(控制反转),将对象的创建权反转交给了Spring。具体原理看这里Java中的反射和工厂模式
DI(依赖注入)
这个就先得从依赖讲起
依赖
1
2
3
4
5
6
7
8
9Class A{
}
Class B{
public void xxx(A a){
}
}继承 is a
1
2
3
4
5
6
7Class A{
}
Class B extends A{
}聚合 has a
例子:
Spring配置文件,将name依赖于userDao
1
2
3<bean id="userDao" class="com.lgq.UserDaoImpl">
<property name="name" value="张三"/>
</bean>useDao实现类
1
2
3
4
5
6
7
8
9
10
11public class UserDaoImpl implements UserDao {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}测试类
1
2
3
4
5
6
7@Test
public void test1(){
//创建Spring的工厂
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("spring.xml");
UserDao userDao=(UserDaoImpl)applicationContext.getBean("userDao");
System.out.println(((UserDaoImpl) userDao).getName());
}