-------------------siwuxie095
Spring IoC 底层原理
1、IoC 即 Inversion of Control,控制反转,把对象的创建
交给 Spring 进行管理
2、IoC 容器管理 Bean 的方式:
(1)基于配置文件的方式
(2)基于注解的方式
3、IoC 底层原理所使用的技术:
(1)XML 配置文件
(2)dom4j 解析 XML
(3)工厂模式
(5)反射
4、原始方案,耦合度太高
public class UserService{ public } public class UserServlet{ UserService userService=new UserService(); userService.add(); } |
5、使用工厂模式解耦合,但
Servlet 和工厂类又有了新的耦合,
所以它并不是最终的解决方案
public class UserService{ public } 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" 第二步:创建工厂类,使用 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】