Spring 注解
@Autowired/@Resource:自动导入对象到类中,被注入进的类要被 Spring 容器管理(能找到)。- 前者是 Spring 提供的,后者是 JDK 提供的
- 前者默认 byType,后者默认 byName
@Component,@Repository,@Service,@Controller@PathVariable,@RequestParam,@RequestBody@Value:读取配置文件
Spring 包括的设计模式
- 工厂模式
- 单例模式:
- 代理模式:
- 动态代理(AOP)
- 模板方法
- 观察者模式:
- 适配器模式
- 装饰器模式:
三大组件
- Spring:
- Spring MVC:Spring 的重要模块,分为 Model(模型)、View(视图)、Controller(控制器)
- SpringBoot:配置简化
Bean
- 作用域:
- singleton:单例(默认)
- 如果定义了成员变量,可能线程不安全,尽量不要定义,可以使用 ThreadLocal 变量替代
- 大多数 bean 如 dao 一般也都是无状态的(无可变成员变量)
- prototype:每次获取返回一个新的
- request:每一个 HTTP 请求一个新的 bean
- session:每一个 session 一个新的 bean
- singleton:单例(默认)
- 生命周期:
- 创建
- 属性赋值/填充,设计三层缓存,循环依赖
- 包括前置处理,后置处理
- 初始化:
- 销毁
