Как читать строку из файла .properties - PullRequest
1 голос
/ 06 мая 2020

Мне нужен какой-то конфигурационный файл. Итак, я создал config.properties в ресурсах. Это лучший способ сделать это? Смотрится довольно тяжеловато. Но, может быть, лучше, чем доступ к базе данных.

Properties properties = new Properties();

try 
{
    File file = ResourceUtils.getFile("classpath:config.properties");
    InputStream in = new FileInputStream(file);
    properties.load(in);
    String maxHolidays = (String) properties.get("maxHolidays");
    properties.setProperty("maxHolidays", "20");
}
catch(Exception e)
{
    System.out.println("");
}

, если я хочу установить новое значение для своего свойства «maxHolidays», это также возможно из кода

1 Ответ

1 голос
/ 06 мая 2020

Для использования свойств и чтения значений:

@Configuration
@PropertySource("classpath:config.properties")
public class ExampleConfig {

    @Value("${maxHolidays}")
    private String maxHolidays;

    public String getMaxHolidays() {
        return maxHolidays;
    }
}

Затем вы можете @Autowire эту конфигурацию в любом компоненте и прочитать значение maxHolidays.

if I want to set a new value to my property "maxHolidays" is it also possible from code 

Если изменение переходное , вы также можете добавить сеттер.

Если вы намерены сохранить изменение свойств, вы больше не сможете использовать их в качестве ресурса пути к классам (так как этот ресурс обычно входит в ваш JAR), но требуются свойства на основе файлов - в этом случае используйте https://docs.oracle.com/javase/9/docs/api/java/util/Properties.html, которые предоставляют методы load и store.

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