现实世界的春天。你真的通过bean定义注入原始值吗?

时间:2016-06-06 08:12:21

标签: java spring

如果我们认为属性是不变的,那么以下似乎是有意义的。

<bean id="student" class="com.Student">
    <property name="name" value="Paul"/>
    <property name="id" value="12"/>
</bean>
Object s = fac.getBean("student");
Student stu = (Student) s;

可能最有活力的方式是:

<bean id="student" class="com.Student"/>
Object s = fac.getBean("student");
Student stu = (Student) s;
stu.setName(...);
stu.setId(..);

我的问题是,这是介绍Spring框架的基本机制还是你真正做原始值注入的正确方法。

1 个答案:

答案 0 :(得分:1)

想象一下情景:

<beans profile="development">
 <bean id="student" class="com.Student">
    <property name="name" value="${name}"/>
    <property name="id" value="123"/>
 </bean>
</beans>

<beans profile="production">
 <bean id="student" class="com.Student">
    <property name="name" value="${name}"/>
    <property name="id" value="#{idProvider.getId()}"/>
 </bean>
</beans>

现在您将拥有2个不同的属性文件......

development.properties

 name=developer

production.properties

 name=Paul

按照您的方式进行操作,您需要2个版本的代码。