java - Spring中能直接给bean赋值吗?

标签 java spring javabeans

我正在尝试使用 Spring 中的等效 bean 定义在 Java 代码中重现赋值。不过,据我所知,Spring 只允许您为对象内的字段赋值(前提是该类定义了适当的 setter 方法)。有没有一种方法可以使用 Spring bean 简单地捕获对​​对象的引用?

这是我希望它如何工作的示例:

<!-- Non-working example. -->
<bean id="string" class="java.lang.String">
    <value>"I am a string."</value>
</bean>

我意识到在这种特殊情况下我可以只使用 <constructor-arg> ,但我正在寻找更通用的解决方案,该解决方案也适用于不提供参数化构造函数的类。

最佳答案

String 类是不可变的。 java.lang.String 类中没有可用的属性 setter 方法。如果你想注入(inject)你可以在下面使用的属性值:

<bean id="emp" class="com.org.emp">
    <property name="name" value="Alex" />
</bean>

在上面的 obj emp 中,它的 name 属性将被设置为 Alex。

关于java - Spring中能直接给bean赋值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35648741/

相关文章:

java - 在 Objective-C 中创建存储类

java - 如何在java中创建和填充数组列表?

spring - @Component Bean 的 @RequestMapping

java - 带参数的 Spring Bean 和 @Autowired 构造函数

java - JSP中如何使用bean?

Java - 根据表模型中的值对 JTable 中的行进行着色

java - PayPal Cordova 插件不适用于电子邮件地址

java - owasp zap如何检查post请求的漏洞

java - 在 spring boot 应用程序中分离集成测试

java - Bloch 的 Spring 构建器模式