К сожалению, я должен ответить на свой вопрос.
Чтобы прочитать данные UTF-8 из файла свойств, просто используйте свойство кодирования
@Component
@PropertySource(value = "classpath:config/data.properties", encoding = "UTF-8")
В основном помогло добавление некоторых дополнительных вызовов метода к методу configureViewResolvers
:
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
ThymeleafViewResolver resolver = new ThymeleafViewResolver();
resolver.setTemplateEngine(templateEngine());
resolver.setCharacterEncoding("UTF-8"); // <- this was added
resolver.setForceContentType(true); // <- this was added
resolver.setContentType("text/html; charset=UTF-8"); // <- this was added
registry.viewResolver(resolver);
}
и дополнительно в методе configure(HttpSecurity http)
Я изменил способ добавления фильтра к этому:
@Override
protected void configure(HttpSecurity http) throws Exception {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
filter.setForceEncoding(true);
http.authorizeRequests().anyRequest().anonymous()
.antMatchers("/login**", "/*.js", "/*.css", "/*.svg" ).permitAll()
// ... some other config
.invalidateHttpSession(true)
.permitAll()
.and()
.addFilterBefore(filter, CsrfFilter.class); // <- this was added
}