Java类名作为注释属性
是否可以在注释中使用类的简单名称?我的目标是为使用包含类的JNDI名称的注入获得编译时安全性
示例(我想做的事情,在编译时失败):
@EJB(mappedName = "java:module/" + MyService.class.getSimpleName())
private MyService myService;
班级。getSimpleName()似乎是在运行时解析的,这不适用于注释。我能把它当作常数吗
你可以在下面搜索框中键入要查询的问题!
是否可以在注释中使用类的简单名称?我的目标是为使用包含类的JNDI名称的注入获得编译时安全性
示例(我想做的事情,在编译时失败):
@EJB(mappedName = "java:module/" + MyService.class.getSimpleName())
private MyService myService;
班级。getSimpleName()似乎是在运行时解析的,这不适用于注释。我能把它当作常数吗
# 1 楼答案
你这样做是不可能的。这可以通过AOP技术来完成。但是,
在这段代码中,您似乎只有一个可能的值,即“MyService”。它不会动态地改变,那么为什么要动态地评估它呢