0
我一直试图在我的注释中设置logTime
属性在spring xml中。我看到这并不像我第一次想到的那么容易。春季设置注释属性xml
@Component
@Retention(RetentionPolicy.RUNTIME)
public @interface LogExecTime {
public boolean logTime() default true;
}
我都试过,没有运气的接口使用@Value
注释:
I)
@Component
@Retention(RetentionPolicy.RUNTIME)
public @interface LogExecTime {
@Value("#{ConfigureAnnotation.doLogging}")
public boolean logTime() default true;
}
也
II)
@LogExecTime([email protected]("#{ConfigureAnnotation.doLogging}"))
任何想法如何,我可以在XML层次做到这一点或者是这不可能与注释依赖注入?
嗨Iscoughlin。
@Value("#{ConfigureAnnotation.doLogging}") boolean logTime = true;
不适用于我的注释,但logTime = "#{ConfigureAnnotation.doLogging}"
看起来可以。我的Aspect读取它,但只打印“#{ConfigureAnnotation.doLogging}”,而不是我在xml中设置的值“true”。你能告诉我你将如何实现这一目标吗? – MWright您需要对分配给注释的值执行一些操作。在这种情况下,值为 #{ConfigureAnnotation.doLogging} 因此,您需要实例化一个弹簧EL解析器来解析该值或解析出您的自身的键以及它的某些内容,如System.getProperty(annotation .value()。substring(2,annotation.value()。size()-3) – lscoughlin