java - 在注释中注入(inject)值

标签 java spring spring-boot

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

@MyAnnotation(name="${application.prop1}")

在 application.properties 中我有:

application.prop1=foo

所以在运行时我有:

@MyAnnotation(name="foo")

最佳答案

是的,我认为这是不可能的。 Spring 不知道你的注释,也不知道如何处理它。即使您尝试在 String name() 默认 "" 之上使用 @Value(..) (在注释内部),Spring 仍然不会实现这种情况,因为注释不是一颗 bean 。据我所知,尝试将注释设为 bean 也行不通。听起来你必须为此拿出某种类型的处理器。

也许研究以下主题可能会帮助您了解如何将它们组合在一起:

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

关于java - 在注释中注入(inject)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55012514/

相关文章:

java - 使用快速选择算法在未排序的数组中查找中位数

java - Spring/Junit 访问兄弟类

elasticsearch - Spring 数据 Elasticsearch 中的可配置索引名称

java - 无法向springboot发送http post请求

html - 我如何使用 thymeleaf 和 spring Boot 遍历 ArrayList?

java - Joda DateTime 从 JSON 反序列化为当前时间戳而不是提供的数据

java - 用于访问特定选项卡内容(如果存在)的通用 xpath

spring - 另一个 Controller 中的Grails Spring安全性登录表单

java - 如何从数据库中获取 DISTINCT 值?

java - spring data动态组合@query查询