java - 现实世界的 Spring 。你真的通过 bean 定义注入(inject)原始值吗?

标签 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框架基 native 制的方式还是你真的进行原始值注入(inject)。

最佳答案

想象一下场景:

<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 个不同的属性文件...

开发属性

 name=developer

生产属性

 name=Paul

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

关于java - 现实世界的 Spring 。你真的通过 bean 定义注入(inject)原始值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37652491/

相关文章:

java - 带有 GridLayout JFrame 的 JPanels 中的 JButtons

java - Spring MVC 无法从 Controller 中的资源访问文本

java - 在 Eclipse (3.6 Helios) 中使用 Spring (3.0.5)

java - Swing的组件事件

java - Vision API 不支持相机自动对焦

java - Android 应用内结算 - 部分卡不被接受

java - 使用 JTextField 调整文本

java - 如何告诉 Spring 扫描给定的注释而不用 @Component 注释该注释?

spring - 使用 spring webservice 模板的原始 xml 响应

java - Spring:嵌套的应用程序上下文