乐趣区

关于springboot:Spring-Boot学习二注入

Spring properties 配置官网

https://docs.spring.io/spring…


 通过注解绑定 application.yml
单个配对能够通过
@Value(${user.username})
private String username;

@ConfigurationProperties    作用 罕用与 bean 属性和 yml 配置文件的绑定
prefix    能够指定配置文件某一个节点,该节点中的子节点将主动和属性进行绑定
涣散绑定:(USERNAME、userName、user_name、user-name)以上 4 中命名是能够主动绑定 bean 属性
 
  <!-- 会生成 META-INF 元数据 用于提供 idea 主动提醒配置文件 -->
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
      <!-- 依赖不会流传 -->
      <optional>true</optional>
  </dependency>

@Validated    反对 jsr-303 数据校验
须要应用还须要增加该依赖
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-validation</artifactId>
  </dependency>

application.yml 文件

user:
  userName: "LLL"

# 汇合 list、set
# 写法一
  hobbies:
    - 1
    - 2
    - 3
# 写法二
  hobbies: [1,2,3]

# 汇合 map
# 写法一
  girl-friend:
    13 : 陈奕迅
    14 : 张国荣
# 写法二
    girl-friend: {13: 陈奕迅,14: 张国荣}

# 对象
  address:
    id: 1
    desc: 北京

# 拼接 援用值
  address:
    id: 1
    desc: ${userName} 北京

# 随机生成
 age: ${random.int}
# ${random.value}    
# ${random.int}
# ${random.long}
# ${random.uuid}
# ${random.int(10)}                几位数
# ${random.int[1024,65536]}        范畴 1024-65536

文件绑定

@Data
@Component
@ConfigurationProperties(prefix="user")
// 绑定到某个 properties 只容许是 properties 文件  data 为文件夹
@PropertySource("classpath:/data/user.properties")
public class User {

    @NotNull
    private String username;

    private Integer age;

    private Date birthday;

    private List<String> hobbies;

    private Map<Integer,String> girlFriend;

    private Address address;
}
退出移动版