1.概念
Spring是一个免费开源框架,为了简化企业级项目开发,提供全面的开发部署解决方案。
2.体系结构
- Data Access/Integeration是Spring对数据持久层的支持,SpringDataJpa就是其中的一种。
- Web是Spring对表现层处理的支持,SpirngMVC就是其中的一种。
- Test是Spring对项目测试的支持, JUnit就是其中的一种。
- AOP、Aspects、Instrumentation、Messaging、Core Container是俗称的Spring框架。
3.核心功能
- 控制反转(IOC):将创建对象的方式由手动new变成了Spring框架通过反射机制创建。
- 依赖注入(DI):将Spring框架通过反射机制创建的实例对象存入到容器进行管理。
- 面向切面编程(AOP):在程序运行某个方法的时候,不修改原始执行代码逻辑,由程序动态地执行某些额外的功能,对原有的方法做增强。
4.优势
- 简化项目开发:通过Spring提供的IoC容器,可以控制对象间的依赖关系,避免硬编码所造成的过度耦合。用户也不必再为单例模式类、属性文件解析等这些偏底层的需求编写代码,可以更专注于上层的应用。
- 方便集成第三方框架和组件:Spring可以降低各种框架的使用难度,提供了对各种优秀框架和组件(Mybatis、Redis、Kafka等)的直接支持。
- 提高程序扩展性:Spirng框架的面向切面编程,支持开发人员实现对程序的自定义增强,大大提高了程序的扩展性。