我正在将一个应用程序迁移到Java EE7,并希望迁移到CDI1.1。但是我不明白bean-discovery-mode=“annotated”
的含义。CDI1.1规范不是很有帮助。至少我没有找到任何有用的段落。我错过了吗?
此示例使用bean-discovery-mode=“all”
完美运行,并注入loggingclass
实例:
public class LoggingClass {
public Logger logger = Logger.getLogger("ALOGGER");
}
@Test
public class MMLoggerProducerIT extends Arquillian {
@Inject private LoggingClass lc;
}
但是,如果我从bean-discovery-mode=“all”
更改为bean-discovery-mode=“annotated”
,容器将无法将实例注入字段LC
。
如何注释loggingclass
才能正确使用bean-discoverymode=“annotated”
?
当使用bean-discovery-mode=“annotated”
时,只会发现带有bean定义注释的类。忽略所有其他类。任何作用域类型都是定义注释的bean。如果在bean类上声明了作用域类型,那么该bean类就被称为有一个bean定义注释[spec]。1.1规范在这里并不完全清楚。只发现具有@normalscope
作用域或@dependent
伪作用域的类,忽略@javax.inject.singleton
和所有其他@scope
(pseudo)作用域。
请注意,“bean定义注释”的定义在CDI1.2中发生了变化,现在定义得非常好:
bean定义注释集包含:
问题内容: 我阅读了有关的Javadoc 。 但是我不明白这个注释是什么意思? 你能清楚说明一下吗? 问题答案: 当你使用Java代码(而不是XML)配置Spring应用程序时,用于启用Spring MVC。如果你还不熟悉Spring对Java配置的支持,那么这是一个不错的起点。 等效于XML。它支持对带注释的类的支持,该类用于将传入的请求映射到某个方法。你可以在参考文档中阅读有关其默认配置以及如
在这种情况下,NotNull-annotation有什么意义?
问题内容: 我想创建一个自定义注释(使用Java),该注释将接受其他注释作为参数,例如: 但这会导致编译器错误“注释成员的类型无效”。 Object []也无效。 有什么方法可以做我想要的吗? 问题答案: 我本人就此提出针对此问题的解决方法: 好吧,我想要实现的是这样的: 拟议的解决方法: 用以下方法定义一个无参数构造函数的类(稍后将由您自己的注释处理器调用): 用法:
考虑以下基本的Foo、Bar和Main类: 运行Main打印“20个随机AspectJ字节”。我想取代执行吧。从Foo调用时的GenerateRadom。随机你好。这可以通过以下方面实现: 这可以工作,Main现在打印“7个随机AspectJ字节”。 如何使用注释表达相同的方面?这是我的尝试: 这不起作用,我收到以下编译器警告: 我已经验证了p\u randomHello和p\u Generato
我有一个被注释为的类,然后将其添加到另一个类中。但是,我需要删除这个注释,而是在以前自动连线它的类中用一个注释方法创建它。 以前的类看起来像: ...或者我直接调用这个方法(在我看来不是正确的方法): …或者这两个都不正确?
如何使用注释在Spring中提供bean继承?在XML配置中,我使用了