gpt4 book ai didi

java - 如何在 Spring 应用程序上下文中注入(inject) Jakarta 枚举?

转载 作者:行者123 更新时间:2023-11-30 07:39:37 26 4
gpt4 key购买 nike

我有一个构造函数接受 Jakarta enums 的类.我正在尝试找到如何通过 Spring 轻松注入(inject)它XML 应用上下文。

例如:

枚举:

public class MyEnum extends org.apache.commons.lang.enums.Enum {
public static final MyEnum MY_FIRST_VALUE = new MyEnum("MyFirstValue");
public static final MyEnum MY_SECOND_VALUE = new MyEnum("MySecondValue");

public static MyEnum getEnum(String name) {
return (MyEnum) getEnum(MyEnum.class, name);
}
[...other standard enum methods]
}

要注入(inject)的类:

public class MyService {
private final MyEnum status;
public MyService(MyEnum status) {
this.status = status;
}
}

应用上下文:

<bean id="myService" class="MyService">
<constructor-arg index="0" value="MyFirstValue" />
</bean>

当然,有了这个我有一个没有找到匹配的编辑器或转换策略错误。 Spring 和 Jakarta enums 之间是否有简单的集成?或者我应该编写自己的 PropertyEditor 吗?

最佳答案

查看 <util:constant> Spring 的标签。它将要求您将模式添加到您的 xml 定义中。所以你会得到以下结果:

<bean id="myService" class="MyService">
<constructor-arg index="0">
<util:constant static-field="MyEnum.MY_FIRST_VALUE"/>
</constructor-arg>
</bean>

找到标签的定义和用法(包括 XSD def)here .

关于java - 如何在 Spring 应用程序上下文中注入(inject) Jakarta 枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/314664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com