Spring IOC底层原理简析


1、什么是IOC?

1.1、控制反转

控制反转的英文即Inversion of Control(IOC),换言之:就是一个bean容器,专业的说法叫做控制反转。它的作用就是在spring启动时会去将一个个bean放到这个容器当中。bean可以通过配置文件定义也可以通过注解定义。

1.2、用图表示:

IOC

这张图感觉最生动地体现了IOC。

2、Spring IOC底层

2.1、没有采用IOC之前:

原始采用一个类方法中new另一个类的实例来进行调用违反了迪米特法则。当B类改变所有依赖它的类都需要改变!

before

2.2、采用IOC

利用IOC这种工厂的思想

after

2.3、IOC解耦

采用工厂这种模式,再配置XML,从XML中取出配置好的bean对象。

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

<bean id="mysqlImpl" class="com.demo.pro.UserDaoMysqlImpl"/>

第二步在加载配置文件时候就进行对象的创建(常用)

ApplicationContext context= new ClassPathXmlApplicationContext("beans.xml");

而这个context就类似于工厂,接下来就可以取出对象就行:

UserService userService=(UserService) context.getBean("mysqlImpl");

从而可以调用对象的方法:

userService.getUser();

简而言之,Spring采用了这种工厂模式注入对象,而这也是Spring的核心之一!!!!


文章作者: fatzard
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fatzard !
评论
  目录
本站总访问量