有没有一种优雅的方法来创建多个相同类型的 bean 实例,每个实例都根据枚举值进行参数化?例如:
//MyEnum.java
enum MyEnum
{
VALUE1,
VALUE2;
}
//MyClass.java
class MyClass
{
MyClass(MyEnum myEnum){ ... }
}
//Context.java
@Configuration
class Configuration
{
@Bean
public MyClass myClass1()
{
return new MyClass(MyEnum.VALUE1);
}
@Bean
public MyClass myClass2()
{
return new MyClass(MyEnum.VALUE2);
}
}
有没有比为每个枚举值显式创建一个新 bean 更好的方法?请注意,bean 的名称并不重要,因为稍后我将使用 getBeanNamesForType(MyClass.class) 从它们中进行搜索。