配置文件占位符

本文导读

  • Spring Boot 全局配置文件“application.yml”与"application.properties"可以使用${random}来设置随机值
  • 常用随机设值如下:
  1. ${random.value}------------随机生成一个32位的字符串,如:b21d56d2f10d74f84608dfff01b25552
  2. ${random.int}---------------随机生成一个int范围的随机数,如:-386223791
  3. ${random.long}-------------随机生成一个long范围的随机数,如:2404587442488649534
  4. ${random.int(10)}----------随机生一个[0,10]之间的随机数,如:8
  5. ${random.int[1024,65536]}-------随机生成一个[1024,65536]之间的随机数,如:63856
  6. ${user.userName}------------获取配置文件中已经配置好的属性值,不存在时直接返回整个“${user.userName}”
  7. ${user.width:hello}-----------获取配置文件中已经配置好的属性值,不存在时则用"hello"返回

User POJO

package com.lct.domain;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.io.Serializable;
import java.util.Date;

/**
 * Created by Administrator on 2018/7/12 0012.
 * 用户类--实体
 * 里面的初始值全部会由全局资源文件"application.properties"中注入进来
 */
@Component
@ConfigurationProperties(prefix = "user")
public class User implements Serializable {

    private Integer id;
    private Long age;
    private String userName;
    private String addr;
    private String city;
    private String like;
    private String color;
    private String height;

    public String getAddr() {
        return addr;
    }

    public void setAddr(String addr) {
        this.addr = addr;
    }

    public Long getAge() {
        return age;
    }

    public void setAge(Long age) {
        this.age = age;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getHeight() {
        return height;
    }

    public void setHeight(String height) {
        this.height = height;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getLike() {
        return like;
    }

    public void setLike(String like) {
        this.like = like;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Override
    public String toString() {
        return "User{" +
                "addr='" + addr + '\'' +
                ", id=" + id +
                ", age=" + age +
                ", userName='" + userName + '\'' +
                ", city='" + city + '\'' +
                ", like='" + like + '\'' +
                ", color='" + color + '\'' +
                ", height='" + height + '\'' +
                '}';
    }
}

全局配置文件

  • 为了书写简单直接采用"application.properties"文件,对于“application.yml”文件写法是完全一样的
  • 同理如果使用的普通的"*.properties"文件,然后使用@PropertySource 加载指定配置文件也是一样的写法

user.id=${random.int}
user.age=${random.long}
user.userName=张三_${random.uuid}
user.addr=深圳_${random.value}
user.city=长沙_${random.int(10)}
user.like=电影_${random.int[1024,65536]}
user.color=红色_${user.userName}
user.height=${user.width:hello}_身高

测试输出

package com.lct;

import com.lct.domain.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;

@RunWith(SpringRunner.class)
@SpringBootTest
public class CocoApplicationTests {
    @Resource
    private User user;

    @Test
    public void contextLoads() {
        System.out.println("----------------------------------");
        System.out.println(user);
    }
}






猜你喜欢

转载自blog.csdn.net/wangmx1993328/article/details/81021495
今日推荐