【发布时间】:2017-10-30 09:29:48
【问题描述】:
我创建了一个自定义 Java 注释并具有某些属性。如何支持字符串属性的属性占位符?
例如:
Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface PublishEvent {
public EventStore eventStore();
public boolean isPersistent() default false;
public String channelName();
}
我想用作:
@PublishEvent(channelName="${rabbit.event.default}")
public void someMethod(){}
其中 rabbit.event.default 是 application.properties 文件中定义的属性的键。我希望将属性键替换为值,就像 spring 的 @Value 注释一样。
我正在使用 Spring AOP 来拦截注解并进行处理。
【问题讨论】:
-
我试图找到一个简单的方法来做到这一点,我发现最好的方法是在这个链接中,stackoverflow.com/questions/19316575/…,希望它对你有所帮助
-
@cralfaro :感谢您的链接。我正在使用弹簧引导。所以我认为 PropertySourcesPlaceholderConfigurer 会被引导注入。我正在尝试使用 Aspect 的方法。如果工作正常,将发布完整的代码
标签: java spring annotations aop