如果网页上已有这些列表,请将其链接。使用Google我找不到任何这样的东西。列出由SpringMVC创建的请求和会话范围的bean
请求范围豆:
javax.servlet.http.HttpServletRequest
会话作用域bean:
javax.servlet.http.HttpSession
如果网页上已有这些列表,请将其链接。使用Google我找不到任何这样的东西。列出由SpringMVC创建的请求和会话范围的bean
请求范围豆:
javax.servlet.http.HttpServletRequest
会话作用域bean:
javax.servlet.http.HttpSession
那么这真的取决于你告诉什么春天创造,但你会看到这个默认设置。
请求:
for(String key : Collections.list(request.getAttributeNames())) {
System.out.println(key);
}
结果:
org.springframework.web.context.request.async.WebAsyncManager.WEB_ASYNC_MANAGER
org.springframework.web.servlet.DispatcherServlet.CONTEXT
org.springframework.web.servlet.DispatcherServlet.LOCALE_RESOLVER
org.springframework.web.servlet.HandlerMapping.bestMatchingPattern
org.springframework.web.servlet.DispatcherServlet.OUTPUT_FLASH_MAP
org.springframework.web.servlet.DispatcherServlet.FLASH_MAP_MANAGER
org.springframework.core.convert.ConversionService
org.springframework.web.servlet.DispatcherServlet.THEME_SOURCE
org.springframework.web.servlet.HandlerMapping.pathWithinHandlerMapping
org.springframework.web.servlet.HandlerMapping.uriTemplateVariables
org.springframework.web.servlet.DispatcherServlet.THEME_RESOLVER
会议:
for(String key : Collections.list(session.getAttributeNames())) {
System.out.println(key);
}
结果:
(empty)
可以自动装配任何Spring能够建立。你是否应该是另一回事。
例如,自动装载Step范围的bean(从批处理)到请求范围的bean是毫无意义的。
对象创建后自动装配会发生一次,在推理自动装配和不同范围时,这是一个需要注意的主要问题。
关于你的问题,事实上,在短寿命的豆子里注入更长的活豆是没有问题的。它唯一重要的是你意识到它,它适合你的语义。
其他解决方法有点棘手。因此,注射较短的活的豆,在较长的活的豆内。这样做的正确方法是靠代理。如果要在会话范围的bean中注入一个请求范围的bean,并且请求范围的bean被代理了,那么代理将只创建一次,但会为每个请求创建一个请求bean。
它是什么在文档中描述的简化和提供http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-factory-scopes-other-injection
这个答案是在重大修改之前发布。请不要为了内容而下调它。 – Andy 2015-02-11 15:19:55