java - Spring 的@Autowired 是一个巨大的性能问题吗?

标签 java performance spring inversion-of-control autowired

我有一个项目...我不知道...200-300 daos/服务/ Controller ,我使用 @Autowired 将所有内容连接在一起,而不是在 中指定所有内容applicationContext.xml.

我的问题是,这对我的启动时间有多大的性能影响?删除所有 @Autowired 注释并通过 applicationContext.xml 手动连接此应用程序是否值得?

从架构的角度来看,我喜欢@Autowired。我不想通过使用 xml 文件来增加另一层复杂性 - 就我而言,它没有增加任何值(value)。但如果这种事情让我的容器加载时间增加 10 秒,我可能会考虑。如果成本是 100 毫秒,那么我将保持原样。

谢谢

最佳答案

实际上是一样的。组件扫描有点昂贵(当您扫描 @Service@Component 时),但是,正如您所说,它是启动时间 - 它只发生一次。在中型机器上,即使有注释,它也能很快启动。

一般来说,我不会仅仅因为它增加了一些启动时间就放弃了这种方法。我可以向你保证这没什么大不了的(正在做一个比你现在更大的项目)

关于java - Spring 的@Autowired 是一个巨大的性能问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8249458/

相关文章:

java - 匹配单词的变体(拼写错误、leetspeak)

java - 防火墙阻止 TCP 聊天客户端

javascript - 记住刷新时的状态 - 带有 cookie 的 jQuery

java - Spring自定义转换器抛出异常

java - 根据环境变量或属性执行切入点

java - Twitter 使用类似 twitter4j 的东西将 JSON 字符串保存到 Java 对象 (POJO) 中……?

调用 map 方法后 Java 7 文件 channel 未正确关闭

performance - F# 中嵌套序列涉及的开销

python - 前向传播缓慢 - 训练时间正常

java - 何时使用 ParameterizedPreparedStatementSetter 而不是 BatchPreparedStatementSetter,反之亦然,使用 Spring batchUpdate?