Spring IoC(控制反转)

龙哥6个月前spring196

IoC 是一种设计模式。将实例化对象的控制权,由手动的 new 变成了 Spring 框架通过反射机制实例化。

对象的实例化由 Spring 框架加载实现,放到 Spring 的容器中管理,避免了我们手动的 new 对象,有需要用到对象实例依赖,直接向 Spring 容器要即可,而一旦涉及到对象的实例修改,那么 只需更改 Spring 加载实例化对象的地方,程序代码无需改动,降低了耦合,提升了扩展性。

BeanFactory 才是 Spring 容器中的顶层接口。 ApplicationContext 是它的子接口。

简而言之,BeanFactory 提供了配置框架和基本功能,并在 ApplicationContext 中增加了更多针对企业的功能。

BeanFactory 和 ApplicationContext 的区别: 创建对象的时间点不一样。

ApplicationContext:只要一读取配置文件,默认情况下就会创建对象。

BeanFactory:什么时候使用,什么时候创建对象。

Spring 的容器是通过一个接口 org.springframework.context.ApplicationContext 表示,并负责实例化,配置和组装 Bean 对象。容器通过读取 xml 文件中的配置信息来获取关于实例化对象,配置属性等命令。

而 ApplicationContext 只是一个接口,我们通常创建 ClassPathXmlApplicationContext 的实例或者 FileSystemXmlApplicationContext 的实例。前者是从类路径中获取上下文定义文件,后者是从文件系统或 URL 中获取上下文定义文件 。

IoC 容器的使用实例

容器的初始化必须先配置 xml 文件,代码回顾如下:

<bean id="user"  class="com.wyan.entity.User" ></beans>

加载配置文件

ApplicationContext context =

                new ClassPathXmlApplicationContext("classpath:applicationContext.xml");


调用方法

context.getBean("user")

作者:龙哥leon
链接:http://anool.net
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 如果觉得文章对你有帮助,可以请我喝杯咖啡

相关文章

Spring 简介

概念:Spring 是一个免费开源框架,为了简化企业级项目开发,提供全面的开发部署解决方案。结构图阐释:左上角勾画出负责持久层的部分,是 Spring 对数据持久化,事务管理,支持的功能框架。大家听过...

Spring 工程执行过程

ApplicationContext 是一个 接口,是 BeanFactory 这个接口的子接口,它扩展了 BeanFactory 这个接口,提供了额外附加的功能。而 BeanFactory 是管理...

Spring 工程的搭建

开发工具选择 idea ,创建 Maven 的 jar 工程即可。因为涉及不到浏览器的请求,所以无需创建 web 工程。创建 Maven 工程 。图片描述补全坐标信息。图片描述继续下一步 finish...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。