Я получаю ** Причина: org.springframework.beans.TypeMismatchException: Не удалось преобразовать значение типа 'java .lang.String' в требуемый тип 'java .lang.Boolean'; вложенное исключение: java .lang.IllegalArgumentException: **
Я полагаю, это происходит из-за отсутствия конфигурации пружинного заполнителя. Но я инициализировал компонент в контексте приложения и все еще получаю эту ошибку. Может ли кто-нибудь помочь мне ??
@Value("${com.test.isTestEnable")
public Boolean isTestEnable;
Spring Properties Class
public class SpringPropertiesUtil extends PropertyPlaceholderConfigurer {
private static HashMap<String, String> systemPropertiesMap;
private int springSystemPropertiesMode = SYSTEM_PROPERTIES_MODE_FALLBACK;
public static String getProperty(final String name) {
return systemPropertiesMap.get(name);
}
@Override
protected void processProperties(final ConfigurableListableBeanFactory beanFactory, final Properties props) throws BeansException {
super.processProperties(beanFactory, props);
systemPropertiesMap = new HashMap<String, String>();
for (final Object key : props.keySet()) {
final String keyStr = key.toString();
final String valueStr = resolvePlaceholder(keyStr, props, springSystemPropertiesMode);
systemPropertiesMap.put(keyStr, valueStr);
}
}
@Override
public void setSystemPropertiesMode(final int systemPropertiesMode) {
super.setSystemPropertiesMode(systemPropertiesMode);
springSystemPropertiesMode = systemPropertiesMode;
}
мой файл контекста приложения
<bean id="placeholderConfig" class="com.test.SpringPropertiesUtil">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="locations">
<list>
<value>file:${config.path}/application.properties</value>
<value>file:${config.path}/log.properties</value>
</list>
</property>
</bean>