繁体   English   中英

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

[英]How can I Optimize Spring Framework usage for Google App Engine Applications

Google App Engine前端实例是动态扩展的。 这意味着App Engine会在负载增加时自动创建新实例,并在不使用实例时关闭实例。 重新加载实例可能会导致用户的额外延迟。 前端实例也有60 seconds截止日期来完成给定的请求。

当我在GAE应用程序中使用Spring MVC and Spring IOC时,为了优化Spring Framework的使用,我已经完成了App Engine应用程序的最佳实践

在该链接中,我完全混淆了减少或避免使用关系自动装配的部分 它说, automatic wiring可以解决在应用程序初始化时间豆显著所需的时间,所以他们建议自动装配byName而不是使用自动装配byType

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

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

比喻一组多种猫和狗。 要找到群体中的小猎犬,您必须首先识别所有品种,但是当您使用狗的名称时,它更容易并且改进识别。

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

让我回答所有答案

所以我的问题是autowire byName如何减少bean的解析时间?

已经由apurvc解释过,特别是如果你使用接口或者你使用大量的类继承Spring必须检查类的层次结构

我想知道有更好的注入豆子的方法吗?

  1. 是的,不要通过autowire注入bean,而是使用set或get属性 ,因为你可以; 我使用这个政策。
  2. 避免使用自动扫描组件
  3. 使用单例或bean池或工厂来重用或构造对象

是否有任何Spring IOC的最佳实践可以减少应用程序初始化时间。

  1. 使用延迟初始化( @Lazy注释)
  2. 将非依赖bean 放在 XML定义的顶部

但如果您是JEE开发人员,那么您真的不需要这些解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM