如果网络上已有这些列表,请将其链接。我无法使用谷歌搜索任何这样的东西。
请求范围的bean:
javax.servlet.http.HttpServletRequest
会话范围的bean:
javax.servlet.http.HttpSession
答案 0 :(得分:1)
在创建对象后,自动装配发生一次,在推理自动装配和不同范围时,这是要记住的主要事项。
关于你的问题,实际上在短寿命豆类中注入更长的活豆时没有问题。唯一重要的是你意识到它并且它适合你的语义。
其他方面有点棘手。因此,在较长寿的豆子里面注入较短寿命的豆子。这样做的正确方法是依靠代理。如果您在会话范围的bean中注入请求范围的bean,并且代理请求范围的bean,那么代理只会创建一次,但会在每个请求上创建一个请求bean。
它简化了文档中描述的内容,并在http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-factory-scopes-other-injection
中提供答案 1 :(得分:1)
嗯,这真的取决于你告诉Spring要创建的内容,但你会在默认设置中看到这一点。
REQUEST:
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
SESSION:
for(String key : Collections.list(session.getAttributeNames())) {
System.out.println( key );
}
结果:
(empty)
答案 2 :(得分:0)
您可以自动装配Spring可以构建的任何内容。你是否应该是另一回事。
例如,将具有Step范围(从批处理)的bean自动装配到请求范围的bean是完全没有意义的。