前言:
最近在看这本书,真心推荐~
很多东西看第一遍的时候,不知所云,当看第二遍的时候,并结合第一遍敲过的书中的demo,有了一定的理解,并整理成笔记,书毕竟要先读薄,再读厚~
第一章 Tips:
- Spring的根本使命:简化Java开发
- 怎么简化?
Spring基于以下4种策略:
1> 基于POJO的轻量级和最小侵入式编程
2>通过依赖注入和面向接口实现松耦合
3>基于切面和惯例进行声明式编程
4>通过切面和模板减少样式代码 - 基于Spring构建的应用中,它的类通常没有任何痕迹表名了你使用了Spring
- 耦合具有双面性
一方面,紧密耦合的代码难以测试、难以复用、难以理解,并且典型地表现出“打地鼠”式的bug特性。另一方面,一定程度的耦合又是必须的—-完全没有耦合的代码什么也做不了。总而言之,耦合是必须的,但应当被小心谨慎地管理。 - DI所带来的最大收益:松耦合
- 创建应用组件之间协作的行为通常称为装配(Wiring)
- Spring通过应用上下文(ApplicationContext)装载bean的定义并把它们组装起来,Spring的应用上下文全权负责对象的创建和组装。
- DI能够让相互协作的软件组件保持松散耦合,而AOP允许你把遍布应用各处的功能分离出来形成可重用的组件。
- AOP能够确保POJO的简单性
- 基于Spring的应用中,你的应用对象生存与Spring容器中,Spring容器负责创建对象,装配它们并管理它们的整个生命周期,从生存到死亡。
- Spring容器并不是只有一个,Spring自带了多个容器实现,可以归为两种不同的类型。bean工厂是最简单的容器,提供基本的DI支持。应用上下文(ApplicationContext)基于BeanFactory构建,并提供应用框架级别的服务。