Spring是一个开源框架,是为了解决企业级应用开发的复杂性而创建的,现在不止应用于企业应用。
- 是一个轻量级的控制反转(Ioc)和面向切面(AOP)的容器框架
- 控制反转指将控制权交出去 在使用时得到这个对象
- 大小开销方面 Spring都是轻量的
- 通过控制反转(Ioc)的技术达到松耦合的目的
- 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统服务进行内聚性开发
- 包含并管理应用对象的配置和生命周期,意义上是一种容器
-将简单的组件配置、组合成复杂的应用,这个意义上是框架
- 在Spring 开发应用简单、方便、快捷 (Spring 替我们管理了这些Bean(对象))
适用范围
- 构建企业应用(SpringMVC+Spring+Hibernate+ibatis)
- 单独适用Bean容器(Bean管理)
- 单独适用AOP进行切面处理
- 适用Spring功能,如对消息的处理
- 在互联网的应用
什么是框架
框架就在制定一项规则或规范(思想),程序员在该规范或者规则(思想下工作),或者使用别人搭好的舞台,你来表演。
框架的特点
- 半成品
- 封装了特定的处理流程和控制逻辑
- 成熟的、不断升级改进的软件
框架与类库的区别 - 框架一般是封装了逻辑、高内聚的,类库是松散的工具组合
- 框架专注于某一领域,类库是通用的
为什么使用框架
- 软件系统日趋复杂
- 重用度高,开发效率和质量提高
- 软件设计人员要专注于对领域的了解,使需求分析更加充分
- 易于上手、快速解决问题
接口
java接口即声明,声明哪些方法是对外公开提供的
接口只能有声明不能有实现 (java8 可以有方法体)
抽象类 有声明有实现
类 有实现
- 面向接口编程,接口实现的变动不影响各层间的调用,这在公共服务中尤为重要
- 面向接口编程中的"接口"是用于隐藏具体实现和实现多态性
IOC
IOC:控制反转,控制权的转移,应用程序不进行依赖对象的创建和维护,
而是由外部容器(Spring)来创建和维护 知识负责使用
- DI(依赖注入) 是一种实现方式
- 目的创建对象并组装对象之间的关系
获得依赖对象的过程被反转了,"控制反转"更合适的名字"依赖注入"(Dependency Injection).
所谓依赖注入,就是IOC容器在运行期间,动态的将某种依赖关系注入到对象之中
**IOC流程 - 找IOC容器
- 容器返回对象
- 使用对象
IOC容器中把所有的对象都称为bean