Google App Engine
前端实例是动态缩放的。这意味着 App Engine
在负载增加时自动创建新实例,在不使用实例时关闭实例。重新加载实例可能会导致用户的额外延迟。前端实例也有一个 60 seconds
完成给定请求的截止日期。
正如我正在使用 Spring MVC and Spring IOC
在我的GAE应用程序中,为了优化Spring Framework的使用,我已经完成了 App Engine应用程序的最佳实践。
在那个链接中,我完全与该部分混淆 减少或避免使用关系自动装配 。它说 automatic wiring
可以显着缩短在应用程序初始化期间解析bean所需的时间,因此他们建议使用autowire byName
而不是使用autowire byType
。
所以我的问题是如何自动装配 byName
减少豆的解析时间?? 。而且我想知道有没有更好的注入豆子的方法?有没有最好的做法 Spring IOC
减少应用程序初始化时间。
让我回答所有的答案
所以我的问题是autowire byName如何减少bean的解析时间?
已经由apurvc解释过,特别是如果你使用接口或者你使用大量的类继承 Spring必须检查类的层次结构
我想知道有更好的注入豆子的方法吗?
- 是的,不要通过autowire注入bean但是 使用set或get属性作为
您可以;我使用这个政策。
- 避免自动扫描 零件
- 使用 独生子 或bean池或工厂重用或构造对象
Spring IOC是否有任何减少应用程序的最佳实践
初始化时间。
- 使用延迟初始化(@懒 注解)
- 放不依赖豆 在顶部 XML定义
但如果您是JEE开发人员,那么您真的不需要这些解决方案。
Autowire“byType”显然必须使用某种机制(和一些处理)来正确识别bean,而使用“byName”提供直接识别。
比喻一组多种猫和狗。要从群体中找到梗犬,您必须首先识别所有品种,但是当您使用狗的名称时,它更容易并且改善识别。
如果包中有许多类,在应用程序启动期间需要一段时间,Spring会对类中的注解类进行扫描,如果包中有许多类,因此建议使用autowire byName。