![](/img/trans.png)
[英]Spring Cloud Configuration - Access shared properties file in all microservices
[英]Unable to access all the properties from properties file with java configuration?
使用Java配置(@ConfigurationProperties)我只能訪問單個字屬性,如果我想訪問帶后綴的屬性(例如:server.port,server.address)我需要將服務器添加到配置中( @ConfigurationProperties(“server”) )。
我需要屬性文件中的所有屬性如何訪問它?
//application.properties
spring.application.name=com-example
server.port=8080
minimum=200
maximum=20000
//Configuration.java
package com.example;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties("server")
public class Configuration {
private int minimum;
private int maximum;
private int port;
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
protected Configuration() {
}
public Configuration(int minimum, int maximum, int port) {
super();
this.minimum = minimum;
this.maximum = maximum;
this.port = port;
}
public int getMinimum() {
return minimum;
}
public void setMinimum(int minimum) {
this.minimum = minimum;
}
public int getMaximum() {
return maximum;
}
public void setMaximum(int maximum) {
this.maximum = maximum;
}
}
//ExampleController.java
package com.example;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ExampleController {
@Autowired
private Configuration configuration;
@GetMapping("/properties")
public Configuration getConfiguration() {
return new Configuration(configuration.getMinimum(), configuration.getMaximum(),
configuration.getPort());
}
}
嘗試這個:
@Component
@Configuration
public class Configuration {
@Value("${minimum}")
private int minimum;
@Value("${maximum}")
private int maximum;
@Value("${server.port}")
private int port;
//Methods
}
根據Configuration
它可能是名稱沖突。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.