Spring中IOC原理

IOC(控制反转)原理:

之前获取其他类中的方法时。使用new一个对象出来,直接调用方法就可以,但是这样耦合度很高,一个更改全都更改

IOC其实是将类名和路径写入配置文件,然后创建工厂类,通过dom4j解析xml配置文件,得到类名,再通过Class.forName(classValue)返回实际要调用的类,再通过class.newInstance()创建类对象(其中运用了反射的原理),这样其他类就可以通过调用这个工厂类,调用到所需要的方法了,这就是所谓的IOC,减少了耦合度,类在更改的时候只需要修改路径即可

 

1.创建xml配置文件,配置要创建的对象类

2.创建工厂类,使用dom4j解析配置文件+反射

public class UserFactory{

//返回UserService对象的方法

public static UserService getService(){

//1.使用dom4j解析xml 

//根据id获取userService,得到id对应class的属性值

String classValue="class属性值"

//2.使用反射创建类对象

Class class=Class.forName(classValue);

//创建类对象

UserService service=class.newInstance();

return service

}

}

你可能感兴趣的:(Spring基础)