Spring 是一个开源的、轻量的企业级Java开发框架,核心目标是简化Java开发,降低代码的耦合度,它提供了一站式的全栈开发解决方案,可以无缝衔接各种主流的开源框架。
Spring 的两大核心基石:
IOC (控制反转)
AOP (面向切面编程)
核心特性包含:
1、非侵入性:业务代码无需依赖Spring框架的API,降低了框架的耦合度。
2、IOC 容器:管理对象的创建、依赖注入、使用以及生命周期的各个关节,彻底解决代码硬编码耦合问题
3、AOP支持: 将日志、事务、权限的横切逻辑与业务代码解耦,实现代码的复用
4、声明式事务:基于AOP的实现,无需硬编码事务的处理逻辑,仅通过注解或者xml配置文件即可实现事务的管理
5、强大的生态集成能力:可以无缝整合mybatis、redis、rabbitmq、springboot、springcloud等开源框架
6、完善的测试能力支持:对junit、testNG等测试框架提供原生支持,方便进行单元测试和集成测试