Spring не обрезает значения, указанные в файле свойств.Что касается обсуждения здесь, похоже, что они намеренно не вмешивались.Но в нашем проекте мы хотим автоматически обрезать значения, прежде чем оно будет использовано в приложении.
Я использую 2.1.4.RELEASE
Я пыталсядобавив следующую конфигурацию Бина
@Bean
public static PropertyPlaceholderConfigurer properties() {
PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
Resource[] resources = new ClassPathResource[]{new ClassPathResource("application.properties")};
ppc.setLocations(resources);
ppc.setIgnoreUnresolvablePlaceholders(true);
ppc.setTrimValues(true);
return ppc;
}
Но из-за этого параметра невозможно загрузить файл свойств и выдать следующее исключение
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'kafka.groupId' in value "${kafka.groupId}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:172)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:124)
at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:237)
at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:211)
at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175)
Кто-нибудь пытался решить эту проблему?
Я ссылался на следующие ссылки, но не получил особой помощи.
Автоматически обрезать концевые пробелы для свойств в файле Props, загруженном в Spring ,
https://htr3n.github.io/2018/11/spring-boot-trailing-whitespaces/