Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在我的应用程序中使用枚举类型来表示功能标志。枚举类型有状态和描述。我希望能够在我的代码中执行以下操作;
FeatureFlag.FANCYFEATURE.isActive()
然后 isActive() 方法将调用连接到数据库的服务类以获取功能状态。
但是,在我的 Spring 应用程序中,由于 Enum 类型是静态的,因此不可能将 bean 注入到 Enum 中。
有人可以推荐一种干净的方法吗?
以下语句应该告诉您有问题
然后 isActive() 方法将调用连接到数据库的服务类以获取功能状态
如果您正在获取状态,我们可以假设它在不同的时间可能会有所不同,即。不是常数。不要enum用于这个。
enum
如果你这样做了,回答
正如你所说,没有办法将豆子注入其中。
无论如何enum,请使用 for 功能列表,但请不要使用enumfor 可变状态。
您最好使用EnumMap<Enum,State>结构来存储针对enum.
EnumMap<Enum,State>