Skip to content

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
  • 生命周期:
    • 创建
    • 属性赋值/填充,设计三层缓存,循环依赖
      • 包括前置处理,后置处理
    • 初始化:
    • 销毁

正在精进