【发布时间】:2017-06-04 10:17:53
【问题描述】:
我在 spring 控制器的 2 个 web 服务中使用了相同的 ArrayList,所以我想使用请求或会话范围从 DB 中获取一次我试图制作一个 bean
@WebAppConfiguration
public class exampleBean {
List<user> users = new ArrayList<user>();
@Bean
@Scope(value = "request")
public List<user> getuserList(){
return users ;
}
@Bean
@Scope(value = "request")
public void setAttendessList(List<user> userList){
users = userList;
}
}
在控制器中
ApplicationContext ctx = new AnnotationConfigApplicationContext(exampleBean .class); AttendeesBean AttendeeBean = ctx.getBean(exampleBean .class);
在第一次服务中我设置了列表,但在第二次服务中没有找到它。
【问题讨论】:
-
因为将范围设置为
request,所以不要给它任何范围,那么它将被视为单例,并且可以通过您应用中的所有请求获得。 -
另外,如果您不希望这个列表是静态的,那么您应该将
scope设为会话。 -
我尝试将其更改为会话范围并且它有效@AmitK 谢谢
-
您也可以通过单击我的答案前面的向上按钮来为答案投票,提前致谢。
标签: java spring spring-boot