При определении свойств с помощью @ConfigurationProperties можно ли определить префикс конкретного поля, а не всего класса?
Например, предположим, что мы есть класс Properties
Код: Выделить всё
@ConfigurationProperties(prefix = "com.example")
public class MyProperties {
private String host;
private String port;
// Geters and setters...
}
Это свяжет поля хост и порт с com.example.host и com.example.port. Допустим, я хочу связать порт с com.example.something.port. Способ сделать это — определить внутренний класс Something и добавить туда свойство port. Но если мне понадобится больше префиксов, это станет слишком громоздким. Я попытался добавить @ConfigurationProperties в установщик, поскольку целью аннотации являются ElementType.TYPE и ElementType.METHOD:
Код: Выделить всё
@ConfigurationProperties(prefix = "com.example.something.port")
public void setPort(int port) {...}
Но в итоге это не сработало. Есть ли другой способ настроить префикс, кроме как через внутренние классы?
Подробнее здесь:
https://stackoverflow.com/questions/342 ... -on-fields