Во время стартапа проекта Springboot значение переменной, впрыскиваемой Аполлоном, является нулевымJAVA

Программисты JAVA общаются здесь
Anonymous
Во время стартапа проекта Springboot значение переменной, впрыскиваемой Аполлоном, является нулевым

Сообщение Anonymous »

Я столкнулся с проблемой, когда при использовании 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;
}
}
Результат выполнения во время запуска проекта

Статическое значение : Нулевое частное значение : 14

Результат выполнения после изменения данных через Apollo
выполнение. /> Статическое значение : 17 Личное значение: 17 < /p>
< /blockquote>
Я понимаю, что способ инъекции статических переменных в код был неверным и уже исправил его. Тем не менее, я хочу знать причину этого явления (данные являются нулевыми во время запуска проекта, но верны после модификации). Я подозреваю, что это из -за порядка загрузки данных конфигурации.

Подробнее здесь: https://stackoverflow.com/questions/795 ... jected-var

Вернуться в «JAVA»