是否有可能用其他依赖注入工具替代默认的 Spring 框架通过反射创建和管理对象的方式(这会更快,因为会避免反射),同时仍然保留 Spring 丰富的 API?
例如,我希望由 Dagger 2 或 Tiger 或 Feather 创建的 Bean 仍然能够与 Spring Data/Social/MVC 交互。
https://github.com/google/dagger https://github.com/google/dagger
https://github.com/google/tiger https://github.com/google/tiger
https://github.com/zsoltherpai/feather https://github.com/zsoltherpai/feather
我知道有人会说“当性能成为问题时就开始担心它”——好吧,我想说现在是时候开始担心它了。
在我的选择中,它将允许 Spring 拥抱 FaaS(函数即服务)。 FaaS jvm 将在服务其调用后关闭,因此您要么保持它运行(像常规服务器一样)并按毫秒付费,要么某些调用可能会延迟几秒钟(以启动所有内容)。
我发现了两个项目,它们试图在 FaaS 环境中使用 Spring 并解决这个问题,但在我的选择中,更容易消除尝试通过 hack 来克服它的问题(反射)。
https://github.com/markfisher/spring-cloud-function https://github.com/markfisher/spring-cloud-function
https://github.com/kennyk65/spring-cloud-serverless https://github.com/kennyk65/spring-cloud-serverless
或者,也许还有另一种我不知道的方法来解决这个问题并在 FaaS 中有效地使用 Spring?
相关问题:在 Amazon Lambda 上运行 Spring Boot https://stackoverflow.com/questions/43288216/running-spring-boot-on-amazon-lambda
我一直在尝试使用最小的 Spring Framework 应用程序(例如 3-5 个类),但仍然需要(有时)5-15 秒来处理第一个请求(下一个请求将在 50-100 毫秒内处理),因此最小化并不能真正起作用这个案例。