Изменение кодировки свойств Spring Boot по умолчанию?

Я пытаюсь найти способ установить кодировку UTF-8 для свойств, доступ к которым осуществляется через@Value аннотация из файлов application.property при загрузке Spring. До сих пор я успешно установил кодирование для своих собственных источников свойств, создав бин:

@Bean
@Primary
public PropertySourcesPlaceholderConfigurer placeholderConfigurer(){
    PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
    configurer.setLocation(new ClassPathResource("app.properties");
    configurer.setFileEncoding("UTF-8");
    return configurer;
}

Такое решение представляет две проблемы. На этот раз он НЕ работает с расположениями «application.properties», используемыми по умолчанию Spring Boot (http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config), и я вынужден использовать разные имена файлов.

И еще одна проблема заключается в том, что мне остается вручную определять и упорядочивать поддерживаемые местоположения для нескольких источников (например, в файле jar против внешнего файла свойств jar и т. Д.), Таким образом, переделывая хорошо выполненную работу.

Как получить ссылку на уже настроенный PropertySourcesPlaceholderConfigurer и изменить кодировку его файла в нужный момент инициализации приложения?

Редактировать: Возможно, я делаю ошибку где-то еще? Вот что вызывает у меня настоящую проблему: когда я использую application.properties, чтобы позволить пользователям применять личное имя к электронным письмам, отправленным из приложения:

@Value("${mail.mailerAddress}")
private String mailerAddress;

@Value("${mail.mailerName}")
private String mailerName;                       // Actual property is Święty Mikołaj

private InternetAddress getSender(){
    InternetAddress sender = new InternetAddress();
    sender.setAddress(mailerAddress);
    try {
        sender.setPersonal(mailerName, "UTF-8"); // Result is Święty Mikołaj
        // OR: sender.setPersonal(mailerName);   // Result is ??wiÄ?ty Miko??aj
    } catch (UnsupportedEncodingException e) {
        logger.error("Unsupported encoding used in sender name", e);
    }
    return sender;
}

Когда у меня естьplaceholderConfigurer бин, как показано выше, добавлен, и поместите мое свойство в app.properties, оно будет восстановлено просто отлично. Просто переименование файла в «application.properties» нарушает его.

Ответы на вопрос(2)

Ваш ответ на вопрос