## 什么是Spring
Spring是一个开源框架,是为了解决企业级应用开发的复杂性而创建的。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
## Spring 特性(思想)
1.**IOC**
`IOC`全称`Inversion of Control(控制反转)`,是指我们将==创建对象==和==依赖注入==的方式反转了,将对象的`创建`以及`管理`交由Spring容器。以前,我们创建对象都是我们自己new,自己管理,依赖也由我们自己注入。使用Spring后这些都由Spring容器处理。
2.**DI**
`DI`全称`Dependency Injection(依赖注入)`,是指由Spring容器来维护对象之间的依赖关系,而不需要我们自己来管理。根据概念我们可以知道,DI为IOC提供了支持,没有DI就完不成IOC。
3.**AOP**
`AOP`全称`Aspect Oriented Programming(面向切面编程)`,是指致力于将==横切关注点==(散布于应用中多处的功能点且这些功能点与应用的业务逻辑是相分离的,例如事务、安全等)与==业务逻辑==相分离的一种编程思想。

Spring特性(思想)总结