利用寒假时间还算系统的学习了一遍Spring框架,具体学习资源来源于 谷粒学院 Spring框架讲解,佟刚老师讲的很好,根据学习内容自己整理了一下,便写了几篇笔记。
一: 什么是Spring框架
1. Spring 是一个开源框架。
2. Spring 为简化企业级应用开发而生。
3. Spring 是一个 IOC(DI) 和 AOP 容器框架。
二:Spring框架的核心思想
1. IOC (控制反转)
2. DI (依赖注入)
3. AOP(面向切面)
IOC : IOC不是一种技术,而是一种思想,一种面向对象编程的法则。容器主动地将资源推送给它所管理的组件, 组件所要做的仅是选择一种合适的方式来接受资源.。这种行为也被称为查找的被动形式。
(通俗的可以说 原本你是提筐去商场买菜,而利用IOC容器以后就是 你只需要将筐放在门口,商场给你送菜。 商场就是一个容器,而菜就是组件。因此客户获取资源的方式由主动变成了被动,这就是控制反转)
DI: IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如: setter 方法)接受来自如容器的资源注入。
DI 与 IOC 的区别在于配置方式不同。但也存在相似之处。都可以通过XML配置或者注解配置。
AOP: AOP 的主要编程对象是切面(aspect), 而切面模块化横切关注点. 在应用 AOP 编程时, 仍然需要定义公共功能, 但可以明确的定义这个功能在哪里, 以什么方式应用, 并且不必修改受影响的类. 这样一来横切关注点就被模块化到特殊的对象(切面)里。
AOP好处:
1. 每个事物逻辑位于一个位置, 代码不分散, 便于维护和升级。
2. 业务模块更简洁, 只包含核心业务代码。