Я столкнулся с проблемой, когда при использовании Apollo для введения статической переменной свойства переменная является нулевой во время запуска проекта. Однако, когда переменная изменена через Аполлон, ее значение отображается правильно. Код примерно следующим образом. < /P>
@Service
public class ApolloServiceImpl implements ApolloService {
@Value("${acc.clean.apollo.loading.num:10}")
private static Long apollo_num ;
@Value("${acc.clean.apollo.loading.num:10}")
private Long num1;
@Override
public String getApolloNum() {
return "static value:" + apollo_num + " private value:" + num1;
}
}
< /code>
Результат выполнения во время запуска проекта: Статическое значение: Null Crivate Value: 14 < /p>
Результат выполнения после изменения данных через Apollo: Статическое значение: 17 частного значения: 17 < /p>
Я понимаю, что способ введения статического переменного в коде. Тем не менее, я хочу знать причину этого явления (данные являются нулевыми во время запуска проекта, но верны после модификации). Я подозреваю, что это из -за порядка загрузки данных конфигурации.
Подробнее здесь: https://stackoverflow.com/questions/795 ... jected-var