Spring Boot学习笔记

参考文档

  1. Spring Boot 2.x入门教程

我的笔记

  1. Spring Boot的主要优点:为所有Spring开发者更快的入门。开箱即用,提供各种默认配置来简化项目配置。内嵌式容器简化Web项目。没有冗余代码生成和XML配置的要求。

  2. 创建基础项目:Spring Initializr

  3. 多环境配置:spring.profiles.active=test

    • application-dev.properties:开发环境。
    • application-test.properties:测试环境
    • application-prod.properties:生产环境
  4. 自定义参数:@Value

  5. 参数引用:book.desc=${book.author} is writing《${book.name}》

  6. 使用随机数:${random},${random.value},${random.int},${random.long},${random.int(10)},${random.int[10,20]}

  7. 命令行参数:

    • java -jar xxx.jar –server.port=8888
    • java -jar xxx.jar –spring.profiles.active=test
  8. 配置文件加载顺序:

    1. 命令行中传入的参数。
    2. SPRING_APPLICATION_JSON中的属性。SPRING_APPLICATION_JSON是以JSON格式配置在系统环境变量中的内容。
    3. java:comp/env中的JNDI属性。
    4. Java的系统属性,可以通过System.getProperties()获得的内容。
    5. 操作系统的环境变量
    6. 通过random.*配置的随机属性
    7. 位于当前应用jar包之外,针对不同{profile}环境的配置文件内容,例如:application-{profile}.properties或是YAML定义的配置文件
    8. 位于当前应用jar包之内,针对不同{profile}环境的配置文件内容,例如:application-{profile}.properties或是YAML定义的配置文件
    9. 位于当前应用jar包之外的application.propertiesYAML配置内容
    10. 位于当前应用jar包之内的application.propertiesYAML配置内容
    11. @Configuration注解修改的类中,通过@PropertySource注解定义的属性
    12. 应用默认属性,使用SpringApplication.setDefaultProperties定义的内容
  9. 2.X新特性:

    1. 配置文件绑定

      • spring.jpa.database-platform=mysql
      • spring.my-example.url[0]=http://example.com
      • spring.my-example.url[1]=http://spring.io
      • spring.my-example.url=http://example.com,http://spring.io
      • spring.my-example.foo=bar
      • spring.my-example.hello=world
    2. 环境属性绑定

    3. 系统属性绑定

    4. 属性的读取

    5. 全新的绑定API

  10. 注解

    • @Controller:修饰class,用来创建处理http请求的对象
    • @RestController:@Controller+@ResponseBody,默认返回json格式
    • @RequestMapping(value = “/users”) :配置url映射。比如:GetMapping、PostMapping、DeleteMapping、PutMapping。
  11. 11