gpt4 book ai didi

java - 如何创建具有应用范围的 MAP?在哪里申报?

转载 作者:行者123 更新时间:2023-11-30 07:08:29 25 4
gpt4 key购买 nike

我需要创建一个具有应用范围的 map 。因此,如果 user1 使用 class1 的 method1 向此 Map 添加一个对象,则 user2 将使用 class2 的 method2 找到新对象。

我知道有这个注解:

@ApplicationScoped

但是,我不知道应该在哪里声明或使用我的 map ,以使其在应用程序部署时随时随地具有相同的状态。

表示声明此 Map 的类和使用它的另一个类的方法的示例会很有帮助。

最佳答案

声明一个 CDI bean,它将提供此 Map 供其使用:

@Named
@ApplicationScoped
public class ApplicationScopedBean {
private Map<KeyClass, ValueClass> map;
@PostConstruct
public void init() {
//initialize the map and its data here
map = new ConcurrentHashMap<>();
map.put(..., ...);
//...
}
//provide a getter for the map
public Map<KeyClass, ValueClass> getMap() {
return this.map;
}
}

现在,可以将 bean 注入(inject)客户端并在您的 View 中显示数据。

关于java - 如何创建具有应用范围的 MAP?在哪里申报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23938060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com