0

スプリング クラウド構成を使用しているスプリング ブート アプリケーションがあります。構成要素をJavaオブジェクトにマップするにはどうすればよいですか。

私の設定は次のようなものです:

clients:
- id         : 1
  name: client 1
  groups    : [a,b]

- id         : 2
  name: client 2
  groups    : [a]

そして私のJavaオブジェクトは次のとおりです。

public class ClientInfo {
  private String clientId;
  private List<String> profiles;

  public ClientInfo(String clientId, List<String> pips) {
    this.clientId = clientId;
    this.profiles = pips;
  }
  public String getClientId() {
    return clientId;
  }

  public void setClientId(String clientId) {
    this.clientId = clientId;
  }

  public List<String> getProfiles() {
    return profiles;
  }

  public void setProfiles(List<String> profiles) {
    this.profiles = profiles;
  }
}

自分の構成をリストにマップしたい

4

2 に答える 2

1

以下のコードを使用して、設定プロパティを Java オブジェクトに設定します。

@Component
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "clients")
public class ClientInfo {

private String id;
private String name;
private List<String> groups;

public String getId(){ return id;}

public String getName(){ return name;}

public List<String> getGroups(){ return groups;}

}

たとえば、次を確認してくださいhttp://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

このクラスを別のクラスに注入します。

@Autowired
private ClientInfo clientInfo;

クラスが「new operator」を使用してインスタンス化されている場合、上記の自動配線は機能しません。

于 2016-09-28T08:03:11.523 に答える