Java 在注释内注入值

Java 在注释内注入值,java,spring,spring-boot,Java,Spring,Spring Boot,是否可以在java注释中插入存储在配置文件(例如:application.properties)中的值,如下所示: @MyAnnotation(name="${application.prop1}") 在application.properties中,我有: application.prop1=foo 因此,在运行时,我有: @MyAnnotation(name="foo") 是,yse@Value注释 @Value(“property1”)是的,我认为这是不可能的。Spring不知道您的

是否可以在java注释中插入存储在配置文件(例如:application.properties)中的值,如下所示:

@MyAnnotation(name="${application.prop1}")
在application.properties中,我有:

application.prop1=foo
因此,在运行时,我有:

@MyAnnotation(name="foo")

是,yse
@Value
注释


@Value(“property1”)
是的,我认为这是不可能的。Spring不知道您的注释,也不知道如何处理它。即使您尝试在
字符串名()默认值“
(在注释内部)的顶部使用@Value(..),Spring仍然不会实现这一点,因为注释不是bean。据我所知,试图将您的注释变成bean也不会起作用。听起来你需要为此设计某种类型的处理器

也许深入研究以下主题可以帮助您了解如何将其整合在一起:

  • 自动配置:

  • SPeL:

  • Java反射:


当然,你总是有可能想退后一步考虑为什么要这么做。您试图实现的目标是什么,也许可以通过一种更“开箱即用”的方式来实现。

我需要在@MyAnnotation中解析值,而不是在属性中解析值。然后编写代码来检测此类批注,并使用SpEL为您解析。你的注释-你的麻烦。你解决问题了吗?我想要一个解决方案。