Fork me on GitHub

Spring IoC底层原理

-------------------siwuxie095

   

   

   

   

   

   

   

   

Spring IoC 底层原理

   

   

1、IoC 即 Inversion of Control,控制反转,把对象的创建

交给 Spring 进行管理

   

   

   

2、IoC 容器管理 Bean 的方式:

   

1)基于配置文件的方式

   

2)基于注解的方式

   

   

   

3、IoC 底层原理所使用的技术:

   

1XML 配置文件

   

2dom4j 解析 XML

   

3工厂模式

   

5反射

   

   

   

4、原始方案,耦合度太高

   

   

   

public class UserService{

   

public void add(){}

   

}

   

   

public class UserServlet{

   

UserService userService=new UserService();

 

userService.add();

   

}

   

   

   

5、使用工厂模式解耦合,但 Servlet 和工厂类又有了新的耦合,

所以它并不是最终的解决方案

   

   

   

public class UserService{

   

public void add(){}

   

}

   

   

public class UserServlet{

   

UserService userService=UserFactory.getService();

 

userService.add();

   

}

   

   

public class UserFactory{

   

public static UserService getService(){

   

return new UserService();

   

}

   

}

   

   

   

6、使用 Spring IoC 解耦合,目前较优的解决方案

   

   

   

第一步:创建 XML 配置文件,配置要创建对象的类

   

<bean id="userService" class="com.siwuxie095.UserService" />

   

 

第二步:创建工厂类,使用 dom4j 解析 XML 配置文件+反射

 

public class UserFactory{

 

public static UserService getService(){

 

// 1、使用 dom4j 解析 XML 配置文件:

// 根据 id 属性值得到 class 属性值

String classValue="class 属性值";

 

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

Class clazz=Class.forName(classValue);

 

UserService userService=clazz.newInstance();

 

return userService;

 

}

 

}

   

   

   

   

   

   

   

【made by siwuxie095】

posted on 2017-08-20 20:02  siwuxie095  阅读(631)  评论(0编辑  收藏  举报

导航