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/