一.基础

1. 介绍

1.1 spring的生态

覆盖了web开发,数据访问,安全控制,分布式,消息服务,移动开发,批处理

2. 容器功能

2.1 组件添加

1. @ Configuration

  1. * 1、配置类里面使用@Bean标注在方法上给容器注册组件,默认也是单实例的
  2. * 2、配置类本身也是组件
  3. * 3proxyBeanMethods:代理bean的方法
  4. * Full(proxyBeanMethods = true)、【保证每个@Bean方法被调用多少次返回的组件都是单实例的】
  5. * Lite(proxyBeanMethods = false)【每个@Bean方法被调用多少次返回的组件都是新创建的】
  6. * 组件依赖必须使用Full模式默认。其他默认是否Lite模式
  7. @Configuration(proxyBeanMethods = false) //lite
  8. @Configuration(proxyBeanMethods = true) //full

3. 自动配置

  1. springboot会先加载所有的自动配置类xxxAutoConfiguration
  2. 每个自动配置类按照条件进行生效,默认会绑定配置文件指定的值。xxxProperties里面拿
  3. 生效的配置类会给容器中装配很多组件
  4. 定制化配置

    1. @Bean替换底层的组件
    2. 修改组件获取的配置文件的值

      4. 开发小技巧

  5. lombok

  6. dev-tools
  7. spring initailizr

    5. 配置文件

    文件类型

  8. properties

  9. yaml

二. web开发

1.springmvc自动配置

1.1 静态资源目录

请求进来,先去找controller能不能处理,不能处理的所有请求都交给静态资源处理器

1.2 源码解读

springboot启动加载xxAutoConfiguration类 自动配置类
springMVC的自动配置类WebMvcAutoConfiguration生效
@Conditional
容器中配置的内容

1.2.1资源

2. 请求参数处理

2.1 rest使用与原理