java - 如何优化 Google App Engine 应用程序的 Spring Framework 使用

标签 java spring google-app-engine spring-mvc

Google App Engine 前端实例是动态扩展的。这意味着 App Engine 会在负载增加时自动创建新实例,并在不使用实例时关闭它们。重新加载实例可能会给用户带来额外的延迟。前端实例也有一个 60 秒 的最后期限来完成给定的请求。

当我在 GAE 应用程序中使用 Spring MVC 和 Spring IOC 时,为了优化 Spring Framework 的使用,我经历了 Best Practices for App Engine Applications .

在那个链接中,我完全混淆了 Reducing or Avoiding the Use of Relationship Autowiring 部分。它说 自动接线 可以显着延长应用程序初始化期间解析 bean 所需的时间,因此他们建议使用 autowire byName 而不是使用 autowire byType

所以我的问题是 autowire byName 如何减少 bean 解析时间? .而且我想知道有没有更好的方法来注入(inject) bean ? Spring IOC 是否有减少应用程序初始化时间的最佳实践。

最佳答案

Autowire "byType"显然必须使用一些机制(和一些处理)来正确识别 bean,而使用 "byName"提供直接识别。

以一组许多品种的猫和狗为例。要从组中找到梗犬,您必须首先识别所有品种,但是当您使用狗的名称时,它会更容易并改善识别。

Spring 会扫描在“context:component-scan”中定义的包内的注释类,如果包中有很多类,则在应用程序启动期间需要一段时间,因此建议使用 autowire按姓名。

关于java - 如何优化 Google App Engine 应用程序的 Spring Framework 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20166286/

相关文章:

python - 如何查询引用属性?

spring - 目前是否可以在 spring-cloud-streams 中将 pulsar 换成卡夫卡

java - Powermock 的问题

java - 意外的 DecimalFormat 输出 - Java

java - 命令字符串中带引号的 Groovy 外部命令

javascript - Thymeleaf+spring+Jquery动态添加表单

java - Maven 构建花费的时间太长

python - ndb.DateTimeProperty 上的 Query.order 未按正确顺序返回结果

java - 用于聊天应用程序的 Google App Engine 和 Android 中的 XMPP

c# - C#中的命名空间和Java中的包之间的区别