IOC是spring中比较重要的概念,含义是控制反转,主要的作用就是解耦和,将传统的new出来的对象,用XML配置文件的形式表示,这样当代码需要调整的时候,只需要修改配置文件即可。
IOC底层主要用到了4种技术:
1.XML配置文件;
2.DOM4j来解析XML文件;
3.工厂模式
4.反射机制
例如:要实现servlet和service层的交互
public class UserService{ // to to something } public class UserServlet{ //传统的方式是new一个UserService的对象 //IOC技术: UserFactory.getService(); }第一步:在XML文件中注册该类
对象类:
<bean id="userService" class="该类的全路径名">第二部:创建工厂类,使用dom4j解析xml文件,使用反射技术 创建该类的实例;
public class UserFactory{ public static UserService getService(){ //1.dom4j解析xml文件,根据id为userService来得到id对应的class的值 String userValue = "class 对应的属性的值"; //2.使用反射原理创建类 Class cls = Class.forName(userValue); UserService service = cls.newInstance(); return service; }