java Spring IOC接口关系,区别,实现类概述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

查看文本需要对IOC概念和过程有一定认知
如果您之前不了解 可以查看我的文章
java 简单了解spring之(IOC容器)
java 简单了解spring之(IOC过程)
接下来 给大家介绍IOC里面的接口
首先 第一次跟大家说IOC 就是 IOC容器 他的逻辑是要容器来完成 而容器就是前面文章提到的工厂类 他读取配置文件 然后 通过反射创建对象 而在这时 它实际上就是一个工厂

Spring 提供 IOC容器实现两种方式 也就是两个接口 他们分别是 BeanFactory和ApplicationContext
ApplicationContext 在我的入门案例Spring文章中有用到过

其实两个接口功能相似 他们都能读取配置文件 然后通过工厂方式创建对象
而在我们的使用中 这两个是二选一 都是可以用的 而他们之间是一次只能用一个的

当然 不是看心情去选 下面来说说他们的区别

BeanFactory 是IOC基本的一种实现方式而他的使用基本都是Spring内部去用的开发并不是很推荐用这个
BeanFactory 最大的特点在于 他在读取配置文件时 他只读了配置文件 并没有创建对象 而要到你后面去获取或使用对象时 他才会去创建这个对象
ApplicationContext 则是BeanFactory的字接口 他提供了更多 更强大的功能 他们属于迭代父子关系 所以 肯定还是用ApplicationContext会好一些 而且这个接口一般就是面向开发人员去使用的
和父亲不同 ApplicationContext 比较果断 他在读取配置文件时 就会将内容中的对象创建出来

可能就会有人不服了 第一个不是更好吗
什么时候用什么时候创建
只能说 这个想法是好的 也符合正常的编程思维 但在Spring开发的项目中 很多都是服务与WEB项目的 所以 这些创建类的操作 在启动服务器时 一起做了就好很多 免得你web端请求一次 你创建一次 那估计平台处理投诉列表查询都要炸了

ApplicationContext作为接口 自然有一些实现类

FileSystemXmlApplicationContext 接收一个参数 字符串类型 配置文件的类路径 要求在计算机中的盘符路径 不建议使用
ClassPathXmlApplicationContext 接收一个字符串参数 路径参数 写明配置文件在项目 src下目录的路径

BeanFactory 的后代接口中的 ConfigurableApplicationContext 中包含一些拓展功能 我们这里只是简单的提一下

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: SpringJava