У меня есть список стран на карте в классе. Теперь я хочу получить доступ к этой карте в моем приложении в некоторых других классах.
Обычно я хочу, чтобы эта карта была доступна во всем приложении.
Я получаю список стран в загрузочном приложении сразу после запуска. Но можно установить его в области применения. Я использую весеннюю загрузку и веб.
Ниже мой код.
@SpringBootApplication
public class FinalApplication {
public static void main(String[] args) {
ApplicationContext context = new SpringApplicationBuilder(FinalApplication.class).run(args);
Country cfg = context.getBean(Country.class);
CountryDataLoader loader = new CountryDataLoader(cfg);
}
@ApplicationScope
@Component
@NoArgsConstructor
public class CountryDataLoader {
Map<String,List<String>> regionMap = new HashMap<>();
Map<String,List<String>> languageMap = new HashMap<>();
public List<String> countryListByAmericaRegion () {
//System.out.println(myConfig.getList());
List<CountryBean> list = myConfig.getList();
Iterator<CountryBean> it = list.iterator();
while(it.hasNext()) {
CountryBean bean = it.next();
if (bean.getRegion().equals(AMERICAS)) {
byAmericaRegion.add(bean.getCountryName());
}
}
regionMap.put(AMERICAS, byAmericaRegion);
//System.out.println(byAmericaRegion);
return byAmericaRegion;
}
}
В классе countrydataLoader я загружаю все данные по стране. как получить доступ к этим двум картам в некоторых других контроллерах отдыха? Спасибо
CountryDaoLoader - это компонент Spring, и вы можете получить экземпляр компонента Spring из контекста приложения, как показано ниже.
ApplicationContextProvider.getApplicationContext().getBean(CountryDataLoader.class);