Поместите значение в application.yaml и используйте Runtime - PullRequest
0 голосов
/ 29 августа 2018

У меня есть весеннее загрузочное приложение. Я хочу поместить некоторые значения как тайм-аут чтения, режим отладки в файл yaml, а затем прочитать их из кода Java.

application.yaml

spring:
  jpa:
      database-platform: org.hibernate.dialect.PostgreSQLDialect
      hibernate:
        ddl-auto: update
      show-sql: false


  datasource:
      url: jdbc:postgresql://localhost:5432/database_name
      username: database_username
      password: database_password


  http:
      multipart:
         maxFileSize: 15Mb
         maxRequestSize: 15Mb

server:
      port: 8585
      contextPath: /

1 Ответ

0 голосов
/ 29 августа 2018

Вы можете сделать это, используя аннотацию @Value, предоставляемую Spring Framework.

Вот пример:

api:
   values:
      socket-timout: 20

И в вашем Java-коде вы можете получить значение socket-timout, используя приведенный ниже код.

@Value("${api.values.socket-timeout}")
private Integer socketTimeout;

Будет автоматически заполнено значением 20. Вы не можете сделать это для статических переменных. Чтобы добиться этого для статических переменных, вы можете использовать следующий код.

public static Integer mySocketTimeout;

@Value("${api.values.socket-timeout}")
public void setSocketTimeout(Integer socketTime){
   mySocketTimeout = socketTime;
}

Устанавливая значение статической переменной с помощью нестатического метода установки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...