spring的IOC详解
来源:互联网 发布:北京文思海辉金信软件 编辑:程序博客网 时间:2024/06/06 02:57
一:IOC
(1)IOC 控制反转模式的基本概念:不创建对象,但是描述创建他们的方式,在代码中,不直接与对象和服务连接,但是在配置文件中描述哪一个组件需要哪一项服务。容器(spring 框架中IOC是容器)负责将这些联系在一起。在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法
(2)IOC的实现模式:
类型 1通过 JavaBean 的属性(例如 setter 方法)分配依赖性类型 2依赖性以构造函数的形式提供,不以 JavaBean 属性的形式公开二:IOC容器
spring设计的核心是org.springframework.beans包,它的设计目标是与 JavaBean 组件一起使用。这个包通常不是由用户直接使用,而是由服务器将其用作其他多数功能的底层中介。下一个最高级抽象是BeanFactory
接口,它是工厂设计模式的实现,允许通过名称创建和检索对象。BeanFactory
也可以管理对象之间的关系。
BeanFactory
支持两个对象模型。
- 单态 模型提供了具有特定名称的对象的共享实例,可以在查询时对其进行检索。Singleton 是默认的也是最常用的对象模型。对于无状态服务对象很理想。
- 原型 模型确保每次检索都会创建单独的对象。在每个用户都需要自己的对象时,原型模型最适合。
bean 工厂的概念是 Spring 作为 IOC 容器的基础。IOC 将处理事情的责任从应用程序代码转移到框架。正如我将在下一个示例中演示的那样,Spring 框架使用 JavaBean 属性和配置数据来指出必须设置的依赖关系。
BeanFactory 接口
因为 org.springframework.beans.factory.BeanFactory
是一个简单接口,所以可以针对各种底层存储方法实现。最常用的BeanFactory
定义是XmlBeanFactory
,它根据 XML 文件中的定义装入 bean,如清单 1 所示。
清单 1. XmlBeanFactory
BeanFactory factory = new XMLBeanFactory(new FileInputSteam("mybean.xml"));
在 XML 文件中定义的 Bean 是被消极加载的,这意味在需要 bean 之前,bean 本身不会被初始化。要从 BeanFactory
检索 bean,只需调用getBean()
方法,传入将要检索的 bean 的名称即可,如清单 2 所示。
清单 2. getBean()
MyBean mybean = (MyBean) factory.getBean("mybean");
每个 bean 的定义都可以是 POJO (用类名和 JavaBean 初始化属性定义) 或 FactoryBean
。FactoryBean
接口为使用 Spring 框架构建的应用程序添加了一个间接的级别。
- spring的Ioc详解
- spring的Ioc详解
- spring的IOC详解
- spring的IOC详解
- Spring 的IOC原理详解
- IOC、Spring的IOC
- Spring的IOC的注解详解
- Spring的IOC的注解详解
- Spring中IoC的入门实例详解
- Spring的DI和IoC实例详解
- Spring中IoC的入门实例详解
- Spring的DI和IoC实例详解
- Spring的IOC与DI详解
- Spring的注入,Ioc,DI详解
- spring的ioc和di详解
- Spring的DI和IoC实例详解
- Spring IOC的原理及详解。
- Spring框架的IoC容器详解
- spring-boot读取props和yml配置文件
- leetcode: 92. Reverse Linked List II
- Android 数据库基础 01
- 复习一:java基础知识点
- 线程经典模式之---生产者和消费者
- spring的IOC详解
- ubuntu常用工具记录
- Python2.7实现监控Linux内存、CPU并发送预警邮件
- leetcode: 93. Restore IP Addresses
- LINUX-LINUX下简易彩色进度条实现
- MapReduce 自定义输入输出(很有用)
- Python 函数式编程未完结
- 唯快不破:TCP/IP详解--TIME_WAIT状态的必要性
- leetcode: 94. Binary Tree Inorder Traversal