gpt4 book ai didi

java - Spring JavaConfig 是否避免组件扫描并改善启动时间?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:56:26 26 4
gpt4 key购买 nike

Spring 大约需要 5 到 10 秒来自行配置,我将 XML 用于基础结构 bean,并使用带有注释的组件扫描来处理其他所有内容。

Spring JavaConfig 是否消除了组件扫描的需要以及按类型 Autowiring bean 时发生的所有反射?有没有人发现使用 JavaConfig 可以缩短启动时间?

我主要关心的是加快集成测试。

最佳答案

如果您继续使用 @ComponentScan ,显然您不会看到任何改进,因为将进行相同的扫描,您只是使用不同的格式启用它。

另一方面,如果您使用 @Bean 注释定义所有 bean 并通过调用其他 @Bean 方法手动执行连接 - 那么,您将避免组件扫描成本,但这会让您回到 90 年代,只是您将 XML 换成了 Java(某种改进)。还要记住,Java 配置也有一些成本。由于超出此问题范围的原因,每个 @Configuration 类都需要 CGLIB 代理。

我通常做的是将 @Bean 用于基础结构 bean(我无法控制),将 @ComponentScan 用于其他所有内容。您确定是组件扫描导致延迟,而不是 Hibernate 或其他第三方库启动时间吗?如果它正在扫描,那么,您正在用启动时间换取开发人员的舒适度(无需手动声明/手动连接所有内容)。

当然有一些方法可以减少组件扫描时间,主要是仔细过滤包/类名,以便只扫描相关类。

关于java - Spring JavaConfig 是否避免组件扫描并改善启动时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11758447/

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