spring boot自定义配置

时间:2017-07-19 03:12:33

标签: spring spring-boot

我想在某些application.properties文件中设置弹性搜索自定义连接参数。 像

myelastic.server = 192.168.1.1
myelastic.port = 11111

我需要在应用程序启动时加载此值并为弹性搜索创建传输客户端组件5.4

如何在启动时将此值加载到模型/属性。 ?

感谢。

2 个答案:

答案 0 :(得分:1)

请在您的模型类中使用以下代码:

 @Value("${myelastic.server}") 
 String server;

 @Value("${myelastic.port}") 
 int port;

答案 1 :(得分:1)

您可以使用@Value注释或Spring中的自动装配环境访问属性。

使用@Value获取属性值:

@Value("${myelastic.server}")
private String elasticServer;

@Value("${myelastic.port}")
private int elasticPort;

@Value("${elasticsearch.clustername}")
private String EsClusterName;

并创建传输客户端,如下所示:

 @Bean
public Client client() throws Exception {

    Settings esSettings = Settings.settingsBuilder()
            .put("cluster.name", EsClusterName)
            .build();

    return TransportClient.builder()
            .settings(esSettings)
            .build()
            .addTransportAddress(
              new InetSocketTransportAddress(InetAddress.getByName(elasticServer), elasticPort));
}