diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/spring/property/AutoUpdateConfigChangeListener.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/spring/property/AutoUpdateConfigChangeListener.java index ec4643df..2bab3b43 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/spring/property/AutoUpdateConfigChangeListener.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/spring/property/AutoUpdateConfigChangeListener.java @@ -113,7 +113,9 @@ private Object resolvePropertyValue(SpringValue springValue) { .resolvePropertyValue(beanFactory, springValue.getBeanName(), springValue.getPlaceholder()); if (springValue.isJson()) { - ApolloJsonValue apolloJsonValue = springValue.getField().getAnnotation(ApolloJsonValue.class); + ApolloJsonValue apolloJsonValue = springValue.isField() ? + springValue.getField().getAnnotation(ApolloJsonValue.class) : + springValue.getMethodParameter().getMethodAnnotation(ApolloJsonValue.class); String datePattern = apolloJsonValue != null ? apolloJsonValue.datePattern() : StringUtils.EMPTY; value = parseJsonValue((String) value, springValue.getGenericType(), datePattern); } else {