有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java不确定Springbeans中构造函数参数的概念

在看了各种教程和阅读之后,我了解了如何在spring中使用构造函数参数。没问题。 我的问题是,是否有人能解释或向我指出一些材料,解释为什么使用它们。我的意思是,对于这样的语法:<constructor-arg value="threading"></constructor-arg>,硬编码值是不好的做法吗? 我不想看到任何关于spring的文章。我只需要一个简单的答案来解释为什么硬编码在这里看起来不错,或者更好的解决方案。我知道@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>

共 (1) 个答案

  1. # 1 楼答案

    这不是硬编码。。。我花了一点时间才明白你的意思,但请看这篇维基文章:

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

    通过在XML中以文本形式提供构造函数/属性注入值并不是硬编码,因为XML充当外部化的数据源。实际上,这和DB someplace中字段中的值没有什么不同。如果在XML中对其进行修改,则无需重新编译代码即可使其正常工作