Spring 容器
参考 Spring基础篇——Spring容器和应用上下文理解
Spring 容器
Spring框架实现功能的核心 是 容器。容器 提供一个管理对象的空间 帮我们创建对象,管理对象的整个生命周期——创建,装配,销毁
Spring通过Spring容器实现控制翻转,依赖注入:程序不再new 一个实例,只需要声明,new 实例的工作交给spring去做
应用上下文 ---Spring 容器的一种
Spring的容器有两种 一种是不常用的BeanFactory,它是最简单的容器,只能提供基本的DI功能。 另一种是集成了BeanFactory后 派生而来的 应用上下文,其抽象接口 就是ApplicationContect,它能提供更多企业级服务,例如解析配置文本信息等。
应用上下文 是Spring容器抽象的一种实现,是 存放 我们需要Spring帮忙管理的对象 一种 容器对象。
ApplicationContext 本质上讲 是一个维护bean定义 以及 对象之间协作关系的高级接口。
有了应用上下文对象,我们就能向容器注册 需要Spring管理的对象了。
Spring 应用上下文 其实是指Spring容器。
加载应用上下文时,指定配置文件 和配置类 ,spring 就会自动创建,管理 这些配置文件 或 配置类中 我们通过 自动装配,java配置 或者xml配置 希望spring 管理的 bean。
那么怎么获取应用上下文对象呢?????
1.什么情况下叫用了Spirng框架,什么情况下是没用Spring框架:
答:引用了Spring提供的jar包和Sprign依赖的要使用的jar包
2.怎么用Spring框架?
答:通过配置文件,上面这个例子是通过写Spring的配置文件 来使用Spring IoC容器
3.使用Spring框架的好处?
答:松散类之间的耦合,在上面的例子中,客户端Client类和Api接口没有关系
4. bean对象和IoC容器?
答:凡是受 Spring IoC容器管理的对象都叫bean对象。
Ioc容器管理bean对象的实例化,装配和生命周期。
所以bean对象是Spring框架特有的。
5.SpringK框架的非侵入性怎么体现?
答:除了测试代码,其他地方没有出现Spring的组件。所谓非侵入性,就是实现了功能,但是没有使用Spring的api