gpt4 book ai didi

java - 没有反射的 Spring

转载 作者:太空宇宙 更新时间:2023-11-04 11:32:01 25 4
gpt4 key购买 nike

是否可以用其他依赖注入(inject)工具替代默认的 Spring 框架通过反射创建和管理对象的方式(这会更快,因为可以避免反射),同时仍然保留 Spring 丰富的 API?

例如,我希望由 Dagger 2 或 Tiger 或 Feather 创建的 Bean 仍然能够与 Spring Data/Social/MVC 交互。

https://github.com/google/dagger

https://github.com/google/tiger

https://github.com/zsoltherpai/feather

我知道有人会说“当性能成为问题时就开始担心它” - 好吧,我想说现在是时候开始担心它了。

在我的选择中,它将允许 Spring 拥抱 FaaS(函数即服务)。 FaaS jvm 将在提供调用后关闭,因此您要么保持它运行(像常规服务器一样)并按毫秒付费,要么某些调用可能会延迟几秒钟(以启动所有内容)。

我发现了两个项目,它们试图在 FaaS 环境中使用 Spring 并解决这个问题,但在我的选择中,更容易消除试图通过 hack 来克服它的问题(反射)。

https://github.com/markfisher/spring-cloud-function

https://github.com/kennyk65/spring-cloud-serverless

或者,也许还有另一种我不知道的方法来解决这个问题并在 FaaS 中有效地使用 Spring?

相关问题:Running Spring Boot on Amazon Lambda

我一直在尝试使用最少的 Spring 框架应用程序(例如 3-5 个类),但仍然需要(有时)5-15 秒来处理第一个请求(下一个请求将在 50-100 毫秒内处理),因此在这种情况下最小化并没有真正起作用。

最佳答案

我也有同样的想法,正在尝试为 JVM 寻找一个 FaaS 友好的 DI 框架。由于没有什么可以打败 JVM 上的 Spring 生态系统,因此如果 Spring 具有无反射机制和编译时 DI,那就太好了。但我在这方面找不到太多东西。

Micronaut解决了完全相同的问题并且看起来很有趣。它有一个用于 spring 注释的适配器层。 Micronaut 专为使用编译时 DI 更快地启动而构建。

当然,这对于较新的应用程序有好处,但对于具有大量现有 spring 代码库的大型应用程序来说则不然。

关于java - 没有反射的 Spring ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43689282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com