Google App Engine
前端实例是动态缩放的。这意味着App Engine
会在负载增加时自动创建新实例,并在不使用实例时关闭实例。重新加载实例可能会导致用户的额外延迟。前端实例也有60 seconds
截止日期来完成给定的请求。
当我在GAE应用程序中使用Spring MVC and Spring IOC
时,为了优化Spring Framework的使用,我已经完成了Best Practices for App Engine Applications。
在该链接中,我完全混淆了减少或避免使用关系自动装配部分。它说automatic wiring
可以显着缩短在应用程序初始化期间解析bean所需的时间,因此他们建议使用autowire byName
而不是使用autowire byType
。
所以我的问题是autowire byName
如何减少bean的解析时间? 。而且我想知道有更好的注入豆子的方法吗?是否有Spring IOC
的最佳实践来减少应用程序初始化时间。
答案 0 :(得分:7)
Autowire“byType”显然必须使用某种机制(和一些处理)来正确识别bean,而使用“byName”提供直接识别。
比喻一组多种猫和狗。要找到群体中的小猎犬,您必须首先识别所有品种,但是当您使用狗的名称时,它会更容易并且可以改进识别。
Spring会扫描类中的注释,这些注释位于“context:component-scan”中定义的包内,如果包中有许多类,则在启动应用程序时需要一段时间,因此建议使用autowire绰号。
答案 1 :(得分:4)
让我回答所有答案
所以我的问题是autowire byName如何减少bean的解析时间?
已经由apurvc解释过,特别是如果你使用接口或使用大量的类继承 Spring必须检查类的层次结构
我想知道有更好的注入豆子的方法吗?
Spring IOC是否有减少应用程序的最佳实践 初始化时间。
但如果您是JEE开发人员,那么您并不需要这些解决方案。