java在SpringXML中设置注释属性
我一直在尝试在SpringXML的注释中设置logTime
属性。我发现这并不像我最初想的那么容易
@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(logTime=@Value("#{ConfigureAnnotation.doLogging}"))
有什么想法可以在xml级别做到这一点,或者这在注释依赖项注入中是不可能的
# 1 楼答案
是的,那是行不通的
甚至都不会编译。注释不是可执行代码,它们只是插入类文件中的额外信息
你可以这样说:
作为spring托管bean上的真实字段,或者将注释更改为:
让运行时处理该注释的任何东西也接受spring EL表达式并适当地解析它,您的组件将如下所示: