我在地图上的某个国家/地区列表中有一个类。现在,我想在其他一些类的应用程序中访问此地图。
基本上,我希望该地图在整个应用程序中都可用。
启动后,我正在启动应用程序中获得国家列表。但是能够将其设置为应用程序范围。我正在使用Spring Boot和Web。
下面是我的代码。
@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类中,我正在加载所有国家/地区数据。如何在其他RestController中访问这两个地图? 谢谢
答案 0 :(得分:1)
CountryDaoLoader
是一个Spring bean,您可以从应用程序上下文中获取Spring bean的实例,如下所示。
ApplicationContextProvider.getApplicationContext()。getBean(CountryDataLoader.class);