Spring容器和Bean对象的问题
spring吧
全部回复
仅看楼主
level 1
槐树树根 楼主
问一个Spring的问题:在Spring项目中是有两个容器的,一个是对整个Spring有效的,一个是仅仅是SpringMVC上下文的,我测试(==)后的确是false,但是获取的Bean确实true,这是怎么回事???
WebApplicationContext applicationContext1 = (WebApplicationContext)request.getAttribute(WEB_APPLICATION_CONTEXT_ATTRIBUTE);
UserServer userServer1 = applicationContext1.getBean("userServer",UserServer.class);
System.out.println(userServer1 == userServer);
WebApplicationContext applicationContext2 = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
UserServer userServer2 = applicationContext2.getBean("userServer",UserServer.class);
System.out.println(userServer1 == userServer2);
WebApplicationContext applicationContext3 = (WebApplicationContext)request.getSession().getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
System.out.println(applicationContext1 == applicationContext2);
System.out.println(applicationContext1 == applicationContext3);
System.out.println(applicationContext2 == applicationContext3);
2018年03月07日 06点03分 1
1