码迷,mamicode.com
首页 > 编程语言 > 详细

Spring IoC底层原理

时间:2017-08-20 21:25:04      阅读:359      评论:0      收藏:0      [点我收藏+]

标签:bottom   top   img   方案   order   com   table   log   idt   

-------------------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】

Spring IoC底层原理

标签:bottom   top   img   方案   order   com   table   log   idt   

原文地址:http://www.cnblogs.com/siwuxie095/p/7401149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!