Spring IoC底层原理
Posted siwuxie095
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring IoC底层原理相关的知识,希望对你有一定的参考价值。
-------------------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 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】
以上是关于Spring IoC底层原理的主要内容,如果未能解决你的问题,请参考以下文章