SpringBoot通過@ConfigurationProperties註解和@Value讀取資原始檔中的值

gaoyiyang發表於2019-04-01

在springBoot的專案resource資料夾下新增檔案resource.properties:

properties.test.name=testName
properties.test.password=123456
複製程式碼

使用@ConfigurationProperties的方式

新建檔案Resource1.java:

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

/**
 * @Author gaoyiyang
 * @Date 2019/3/30 21:08
 * @Version 1.0
 **/
@Configuration
@PropertySource(value="classpath:resource.properties")
@ConfigurationProperties(prefix = "properties.test")
public class Resource1 {
    private String name;
    private String password;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
複製程式碼

使用@Value註解的方式

新建檔案Resource2.java

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Service;

/**
 * @Author gaoyiyang
 * @Date 2019/3/31 22:40
 * @Version 1.0
 **/
@Configuration
@Service
@PropertySource("classpath:resource.properties")
public class Resource2 {
    @Value("${properties.test.name}")
    private String name;
    @Value("${properties.test.password}")
    private String password;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
複製程式碼

測試:

@Autowired
private Resource1 resource1;
@Autowired
private Resource2 resource2;

@Test
public void contextLoads() {
	System.out.println(resource1.getName());
	System.out.println(resource2.getPassword());
}
複製程式碼

##參考

配置檔案配置
Spring Boot讀取properties配置檔案中的資料

相關文章