Sag*_*gii 7 java rest spring spring-mvc spring-boot
在开发 spring-boot REST API 或 spring-mvc REST API 时,我们有使用 @Controller、@Service 和 @Repository 注解的类。这些都在 tomcat 应用服务器后面工作。
那么,当多个请求同时到达应用程序服务器时,是否会为每个请求创建一个新的控制器、服务和存储库实例?spring 是如何处理的呢?bean 的连接是否在运行时发生?
DispatcherServlet 是否创建新实例并为新线程中的每个请求进行连接?
我在哪里可以找到这些东西的技术细节和文档。
预先感谢您的投入
geo*_*eze 11
答案是不。默认情况下,所有使用 、 、 、 或任何其他 bean 定义样式定义的 Spring bean@Controller都是@Service急切@Repository单@Component例@Bean,并且 spring 在应用程序启动时仅创建一个实例。
您可以在 Spring 文档中了解有关 bean 作用域的更多信息。
每个请求都到达一个单独的线程,因此在实现单例 bean 时需要使它们成为线程安全的。
Spring 通过实现此处描述的 IoC 容器来处理此问题。
Bean 连接发生在应用程序上下文启动时,除非您使 Bean 变得惰性,如果是这样,Bean 将在第一次请求 Bean 时启动。
不可以,除非您将 Bean 指定为非单例作用域。
Spring 对于核心模块和 Web 模块都有不错的文档。你可以在这里找到它:
| 归档时间: |
|
| 查看次数: |
3013 次 |
| 最近记录: |