7

是否可以在注释中使用类的简单名称?我的目标是使用包含该类的 JNDI 名称为注入获得编译时安全性。

示例(我想要做的,这在编译时失败):

@EJB(mappedName = "java:module/" + MyService.class.getSimpleName())
private MyService myService;

class.getSimpleName() 似乎在运行时解决,这不适用于注释。我可以以某种方式将其作为常数吗?

4

1 回答 1

0

不可能像你那样。它可以通过 AOP 技术来完成。但,

@EJB(mappedName = "java:module/" + MyService.class.getSimpleName())
private MyService myService;

在这段代码中,您似乎只有一个可能的值,即“MyService”。它不会动态变化,那么为什么要动态评估它呢?

于 2013-08-19T11:37:28.553 回答