spring 可以通过 xml 的配置实现属性的注入 spring boot 的官方提倡使用 yml 文件配置属性, 一种是可以通过 @Value 注解注入, 另外一中就是通过 @ConfigurationProperties, 实现将属性映射到类中, 然后应用系统使用今天我们来看一下
先看下配置文件吧
- db:
- username: root
- password: root
- ipList:
- - 192.168.100.0
- - 192.168.100.1
- - 192.168.100.2
- map:
- key1: value1
- key2: value2
- key3: value3
- child:
address: 浙江省杭州市
postcode: 345678
配置文件中有常规属性的注入, List 的注入, Map 的注入, 对象属性的注入, 想想常规的注入也就是这些了我们是怎么接收这些属性的呢?
- package com.shuqi;
- import lombok.Data;
- import org.springframework.boot.context.properties.ConfigurationProperties;
- import org.springframework.stereotype.Component;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @Component
- @ConfigurationProperties(prefix="db")
- @Data
- public class DbConf {
- private String username;
- private String password;
- private List<String> ipList;
- private Map<String,String> map;
- private Child child;
- @Data
- public static class Child{
- private String address;
- private String postcode;
- }
- }
通过
@ConfigurationProperties(prefix="db")
注解开启了属性注入文件这个类会在配置文件中搜索前缀是 db 的属性, 除去 db 的前缀之后的属性就会根据类中定义的名称注入进来注意一定是个 Bean, 所以加上了 @Component 注解小伙伴们可以试一下
来源: http://www.jianshu.com/p/afb27fddade3