当我们部署一个Spring Web应用程序。 Web服务器如何处理多个用户对Spring中定义的同一个bean的请求?在单例bean的情况下,只有一个bean是为多个用户请求创建的? 单个WAR文件如何被多个用户的请求使用?多个用户使用Spring WAR文件
0
A
回答
0
我从一些堆栈审阅上流过以前的问题.. :)
辛格尔顿豆在春季和Singleton模式是完全不同的。 Singleton模式表示,每个类加载器都会创建一个特定类的唯一实例。
Spring单例的范围按每个bean的容器描述。这是每个Spring IoC容器对单个对象实例的bean定义范围。 Singleton中Spring的默认范围。
虽然默认范围是单例,但您可以通过指定元素的范围属性来更改bean的范围。
每个Web请求生成一个新的线程在此线程解释。
Spring管理不同的作用域(原型,请求,会话,单例)。如果两个simultanous请求访问单例bean,那么bean必须是无状态的(或至少同步以避免问题)。如果您在作用域请求中访问一个bean,那么将为每个请求生成一个新实例。 Spring为你管理这个,但你必须小心,并为你的bean使用正确的范围。通常,您的控制器是单身人士,但AppModel必须是范围请求,否则您将遇到两个同时请求的问题。这个线程也可以帮助你。
关于你最后一个问题“这个魔法是怎么发生的?”,答案是“方面/代理”。 Spring创建代理类。你可以想象Spring会为你的AppModel类创建一个代理。只要您尝试在控制器中访问它,Spring就会将该方法调用转发给正确的实例。
相关问题
- 1. WAR Spring JAVA文件太小
- 2. 在.war文件中使用web.xml的Spring启动应用程序
- 3. 使用Spring Framework部署.war文件时出错
- 4. 如何让maven war插件创建多个war文件
- 5. 简单的WAR文件合并 - 用第二个WAR文件覆盖第一个WAR文件
- 6. 在STS中使用maven和配置文件的SPRING BOOT可展开war文件
- 7. tomcat一个war文件多个web应用程序
- 8. 多个war文件的log4j配置
- 9. 将多个war文件部署到jetty8
- 10. 跨多个WAR文件的Cookie
- 11. 如何将spring-restdocs加入war文件?
- 12. 使用多个ApplicationContext测试Spring组件
- 13. 多个用户在Spring中使用c3p0登录
- 14. 使用7Zip制作WAR文件
- 15. 在WAR文件中使用SIGAR API
- 16. 使用maven打包war文件
- 17. 使用maven从nexus下载war文件
- 18. 如何使用SCIM API war文件
- 19. 使用exec-maven-plugin执行war文件
- 20. 无法从Spring Boot应用程序生成WAR文件
- 21. 使用Maven assembly插件创建一个WAR文件
- 22. Spring Security多个登录用户失败
- 23. Spring集成Java DSL - IntegrationFlow多个用户
- 24. 有多个用户表的Spring Oauth
- 25. 基于Spring Security多用户的用户
- 26. Spring + Felix war = FileNotFoundException
- 27. Spring + angularjs2 + war
- 28. Spring Boot War
- 29. 使用多个javascript文件
- 30. 带有多个WAR文件的EAR文件。共享类