springboot重学day1

​ 由于最近难得有了相对空闲的暑假 小学期时间,决定重新重头学一遍springboot,把自己本来学的半懂不懂的东西彻底搞明白

SpringBoot2 - 配置文件

yml语句的使用规则

  • 使用缩进代表层级关系

  • 记得内容前要加空格

  • 列表表示法

    1. [阿猫,阿狗]

    2. 每个成员换行,且之前加上“- ”

    3. 如果成员也为多数据结构(对象)则使用{english:80,math:90}这样的json写法(还是记得加空格吧)

    4. 对象也可以首个属性前加“- ”,后续属性换行并列但不加

  • 要用@ConfigurationProperties(prefix = “XXX”)来把某个类和配置文件里绑定

  • 代表字符串时,加不加单/双引号都是一样的结果

  • 配置同一个对象时,优先级 properties > yml >yaml

(一个疑似和标题无关的事情)

貌似在entity中某类的对象上加上@Data好像就包含了所有getter、setter、args等构造函数

使用范例

假设在entity层里的情况如下

@Data
@ToString
public class Pet {     //这是宠物类
    private String name;
    private Double weight;
}
@ConfigurationProperties(prefix = "person")
@Conponent  //如果去掉这个注解呢?
@ToString
@Data
public class Person {
    private String userName;
    private Date birth;
    private String[] interests;
    //形如 peivate List<String> animals; 与上面interests相同
    private Map<String, Object> score;
    private Map<String,List<Pet>> allPets;
}

那么当我们在application.yml中对Person的各属性值进行配置时,格式应该如下

person:
  username: zhangsan //此处双引号不会额外处理,有换行符就会换行,单引号会返转义(多个杠),使输出时\n保持原状
  interests: [篮球,足球]
# interests:
#   - 篮球
#   - 足球
  score: {english: 80, math: 90}
  allPets:
    sick:
     - {name: 阿狗, weight: 99.99}
     - name: 阿猫
       weight: 88.88
     - name: 阿虫
       weight: 77.77
    health: [{name: 阿花, weight: 199.99},{name: 阿明, weight: 199.99}]

(为了展示多种格式可以混用以上可能看起来并不整齐,实际操作时可以选择一种以统一格式)


睡前再更新一条

为了方便在写yml时可以像自带的配置一样能自动弹出提示,可以在pom.xml中添加以下依赖

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

(记得写完依赖重启项目)

(另外这样的自动配置会把驼峰形写成蛇形)

但是由于以上功能在打包时并不需要使用,为了防止打包时要加载的东西太多,可以在打包相关的配置<artifactId>spring-boot-maven-plugin</artifactId>下添加以下配置:

<configuration>
    <excludes>
        <exclude>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuationprocessor</artifactId>
        </exclude>
    </excludes>
</configuration>

这样打包的时候这部分就可以被忽略啦~


   转载规则


《springboot重学day1》 狐狸狐涂 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
day2_web开发 day2_web开发
​ 尝试坚持每天学一点中~ Web开发1. 静态资源的配置 只要把静态资源文件放在/ststic(or /public or /resourceor /META-INF/RESOURCE)的路径下,在web端就可以直接利用url
2022-06-29
本篇 
springboot重学day1 springboot重学day1
​ 由于最近难得有了相对空闲的暑假 小学期时间,决定重新重头学一遍springboot,把自己本来学的半懂不懂的东西彻底搞明白 SpringBoot2 - 配置文件yml语句的使用规则 使用缩进代表层级关系 记得内容前要加空格
2022-06-29
  目录