Я пытаюсь установить атрибут logTime
в своей аннотации весной 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}", а не значение "true", которое я установил в xml. Не могли бы вы показать мне, как вы достигнете этого? – MWrightВам нужно сделать что-то со значением, назначенным аннотации. В этом случае значение равно # {ConfigureAnnotation.doLogging} Таким образом, вам нужно либо создать экземпляр весеннего EL-резольвера, чтобы разрешить это значение, либо разобрать ключ самостоятельно, и что-то с ним, например System.getProperty (аннотация .value(). substring (2, annotation.value(). size() -3) – lscoughlin