0

在观看了各种教程并阅读了一些内容后,我了解了如何在 spring 中使用构造函数参数。那里没有问题。我的问题是有人可以解释或指出一些材料来解释为什么使用它们。我的意思是,肯定是这样的语法:<constructor-arg value="threading"></constructor-arg>,硬编码值是不好的做法?我不想要关于如何做到这一点的任何关于春天的文章。我只需要一个简单的答案来解释为什么硬编码在这里看起来不错或更好的解决方案。我知道 @Resource 注释消除了对诸如此类的行的需要,<property name="answer" ref="answer"></property>但我一直被教导硬编码是个坏主意,例如从数据库中提取是一个更好的解决方案

<bean id="questions" class="main.Questions">
        <constructor-arg value="0000"></constructor-arg>
        <constructor-arg value="What is the question?"></constructor-arg>
        <constructor-arg value="threading"></constructor-arg>
        <property name="correctAnswer" value="deadlock"></property>

</bean>
4

1 回答 1

0

这不是硬编码......我花了一点时间才弄清楚你的意思,但请查看这篇 wiki 文章:

http://en.wikipedia.org/wiki/Hard_coding

通过在 XML 中将构造函数/属性注入值作为文字提供,您无需进行硬编码,因为 XML 用作外部化数据源。实际上,这与数据库中某个字段中的值没有什么不同。如果您在 XML 中对其进行修改,则无需重新编译代码即可使其正常工作。

于 2014-11-13T16:08:18.250 回答