是否有一種優雅的方式來創建多個相同類型的bean實例,每個實例都根據枚舉值進行參數化?例如:使用Spring註釋爲每個枚舉值創建一個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)從它們中進行搜索。
我只是好奇,有什麼用例需要有春天管理枚舉? – ach
枚舉只是一個細節。我真正想要的是Spring實例化一整個bean家族,每個bean的構建都有一些不同的參數。一種在一個或多個參數軸上的「笛卡爾積」。 – tgoodhart