【发布时间】:2017-09-25 09:18:16
【问题描述】:
我知道我可以ProcessAnnotatedType.veto() 忽略 bean。
但是,我想忽略生产者提供的 bean。例如:我想在生产环境中忽略它
@Produces
@ApplicationScoped
@Development
EnvironmentDao developmentDao() {
return new DevelopmentDao()
}
有人知道吗? 谢谢。
@更新 其实我有另一个解决方案,比如
@Development
@ApplicationScoped
class DevelopmentProducer {
@Produces
EnvironmentBean developmentBean = new EnvironmentBean() {
@Override
String getText() {
return 'I am DevelopmentBean'
}
}
@Produces
@ApplicationScoped
EnvironmentDao developmentDao() {
return new DevelopmentDao()
}
}
这样我就可以使用 ProcessAnnotatedType 来忽略这个 Producer。但是,我想知道是否有任何方法可以忽略生产者方法而不是整个生产者?
谢谢。
【问题讨论】:
-
如果你有一个
@Development限定符,我想你也有一种@ProductionEnvironnementDAO 的限定符?你应该看看@Alternative来启用/禁用bean。 -
@Rouliboy,实际上
@Development不是限定符。此外,我正在寻求不使用替代方案的解决方案。谢谢。 -
那么
@Development是什么? -
@RouliboyThe '@Development' 只是一个痛苦的注解,它用来表明 bean 是一个“开发”bean
标签: jakarta-ee cdi java-ee-7