- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道这是否是实现我的解决方案的更好方法:
@Component
@Scope("singleton")
public class GetFromJson implements Serializable{
/**
*
*/
private static final long serialVersionUID = -8203722696439228358L;
Map<String, Map<String, ArrayList<String>>> jsonMap;
public Map<String, Map<String, ArrayList<String>>> getJsonMap() {
return jsonMap;
}
public void setJsonMap(Map<String, Map<String, ArrayList<String>>> jsonMap) {
this.jsonMap= jsonMap;
}
}
该类是可序列化的,因为我从数据库中获取 Json 的内容,并将内容映射到对象 GetFromJson 中(我只需在数据库中进行一次查询)。因此,我需要在我的所有应用程序中使用该对象,因此我认为我需要使用单例
有人向我发布了一个库以从数据库获取 JSON。 JSON 对象解析为 Map<String, Map<String, ArrayList<String>>>
因此我创建了我的 GetFromJson
类。
现在我有很多rest服务,在我的rest服务中我需要使用我的对象:GetFromJson来获取jsonMap的内容。
我有很多问题。
带有注释@Scope("singleton")
我保证有GetFromJson
我的所有应用程序中只有一个实例可用?
或者在 Spring 中在我的应用程序中提供单例和 session 对象的更好方法是什么?
要访问获取GetFromJson的jsonMap内容就足够了
@Autowired
private GetFromJson jsonObject;
或者我怎样才能获得我的单例类?
在我的休息方法服务中使用:
jsonObject.getJsonMap();
如何初始化我的单例,因为我正在尝试用以下方法初始化我的对象:
@Autowired
private GetFromJson jsonObject;
public methodToInitialize(){
jsonObject = methodLibraryFromDatabase(GetFromJson.class);
}
IDE 告诉我未使用字段初始化
我需要相同的逻辑,但是对于 session 对象,我认为如果我理解 session 对象的单例实现将是相同的,但仅将注释更改为:@Scope("session")
最佳答案
我认为 OP 想要在应用程序生命周期中初始化一次基于数据库的 POJO,并在需要时 Autowiring 它。
通常这是通过创建一个 bean(除非另有说明,否则都是单例)并在需要时 Autowiring 它来完成的。
此示例应该可以帮助您入门。
@Configuration // beans are declerated in @Configuration classes
public class GetJsonInitializer {
@Bean // singleton by default
public GetFromJson jsonMap(){
GetFromJson jsonObject = methodLibraryDatabase(GetFromJson.class);
return jsonOBject;
}
}
现在在任何 Spring 服务/组件等中 Autowiring GetFromJson
。
@Service
public class SomeService {
@Autowired
private GetFromJson jsonMap;
}
希望这有帮助!
关于java - Bean单例、 session 创建和初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51106011/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!