如何使用注释将值注入到bean构造函数
我的spring bean具有一个带有唯一强制性参数的构造函数,我设法用xml配置对其进行了初始化:
<bean name="interfaceParameters#ota" class="com.company.core.DefaultInterfaceParameters">
<constructor-arg>
<value>OTA</value>
</constructor-arg>
</bean>
然后,我像这样使用此bean,并且效果很好。
@Resource(name = "interfaceParameters#ota")
private InterfaceParameters interfaceParameters;
但是我想用注释指定contructor arg值,例如
@Resource(name = "interfaceParameters#ota")
@contructorArg("ota") // I know it doesn't exists!
private InterfaceParameters interfaceParameters;
这可能吗 ?
提前致谢
-
首先,必须在bean定义中而不是在注入点中指定构造函数arg。然后,你可以利用spring的
@Value
注释(spring 3.0)@Component public class DefaultInterfaceParameters { @Inject public DefaultInterfaceParameters(@Value("${some.property}") String value) { // assign to a field. } }
就我所看到的问题而言,这可能不适合你,因为你似乎定义了同一类的多个bean,它们的名称不同。为此,你不能使用注释,必须在XML中定义它们。
但是,我认为拥有这些不同的bean并不是一个好主意。你最好只使用字符串值。但是我无法提供更多信息,因为我不知道你的确切课程。
-
春季:如何将String bean注入构造函数?
2021-01-30 关注 0 浏览68 1答案
-
spring:如何将String bean注入构造函数?
2021-02-02 关注 0 浏览104 1答案
-
当bean具有varargs构造函数时,如何XML配置Spring bean进行构造函数注入
2021-01-30 关注 0 浏览67 1答案
-
通过Spring中的注释将参数注入构造函数
2021-02-02 关注 0 浏览68 1答案
-
如何将属性值注入使用注释配置的 Spring Bean?
2022-05-26 关注 0 浏览14 1答案
-
为什么在使用@JsonCreator注释构造函数时,必须使用@JsonProperty注释其构造函数?
2021-01-31 关注 0 浏览134 1答案
-
如何将参数注入TestNG类的构造函数?
2021-01-30 关注 0 浏览82 1答案
-
如何通过MockMvc使用构造函数注入来测试控制器
2021-01-29 关注 0 浏览85 1答案
-
使用构造函数arg字段填充Spring bean
2021-01-29 关注 0 浏览121 1答案
-
如何避免依赖注入构造函数的疯狂?
2021-02-02 关注 0 浏览80 1答案