学习SpringBoot的笔记

SpringBoot

@Conditional条件装配
@ImportResource配置导入
@ConfigurationProperties配置绑定

配置绑定和注入容器

@Component+@ConfigurationProperties 可以将配置文件中的配置绑定到对象类中的属性并注入容器
当我们引用的是第三方库 不能使用@componet注解的时候可以使用
@ConfigurationProperties+@EnableConfigurationProperties

自动配置

注解层级关系
@SpringBootApplication组合注解

  • @SpringBootConfiguration
    代表当前是一个配置类
  • @ComponentScan
    指定扫描那些包
  • @EnableAutoConfiguration
    1. @AutoConfigurationPackage
      自动配置包
      1. @Import(AutoConfigurationPackages.Registrar.class)
        利用Registrar给容器导入一系列组件
        将指定的一个包下的所有组件导入
    2. @Import
      给容器导入一个组件
      • getAutoConfigurationEntry(annotationMetadata)
        给容器中批量导入组件
        • List configurations = getCandidateConfigurations(annotationMetadata, attributes);
          • SpringFactoriesLoader.loadFactoryNames(getSpringFactoriesLoaderFactoryClass()
            • Map<String, List> loadSpringFactories(@Nullable ClassLoader classLoader)
              • classLoader.getResources(FACTORIES_RESOURCE_LOCATION)
                默认扫描当前系统里面的META-INF/spring.factories位置的文件

SpringBoot启动的时候加载了127个场景所需要的配置
但是最终会按照条件装配规则(判断有没有对应的类或包 )实现按需加载

默认会绑定配置文件指定的值 XXXproperties里的配置

定制化配置

  • 直接用自己的@Bean替换底层的组件
  • 通过在yml中设置配置修改配置
    配置流程
    xxxAutoConfiguration–>组件–>xxxProperties拿值—>application.yml

可通过配置debug=true 开启自动配置报告

自定义类绑定的配置提示

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

tips:打包的时候将这个依赖排除

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId>spring-boot-configuration-processor</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

web场景

设置静态资源的访问路径前缀

  mvc:
    static-path-pattern: 

默认是 /** 可以自己修改添加

  resources:
    static-locations: 

设置静态资源目录路径
使用设置静态资源目录路径要禁用访问路径前缀

  mvc:
    hiddenmethod:
      filter:
        enabled:

表单的请求只有put/get 设置配置为true将开开始表单的rest功能

@MatrixVariable获取矩阵变量的值

当cookie被禁用了Session无法获取值可以通过这个矩阵注解获取
cookie携带了JsessionId可以通过这个id获取Session中的值

SpringBoot默认禁用矩阵变量需要手动开启

拦截器

实现HandlerInterceptor接口

Profile

默认配置文件一直都会加载,可以指定加载配置文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值