spring - Spring-Boot,获取方法级bean项目使用的所有注解值
问题描述
我正在使用 Kotlin 项目编写的 Spring-Boot 项目,该项目使用自定义方法级别注释,该注释在整个项目中foo
调用了 String 属性。biz
@Foo(biz = "buzz")
Spring-Boot 或 Kotlin 有没有办法获取biz
属性中使用的所有值的列表foo
?
解决方案
有一个函数 on ListableBeanFactory
,它可以检索所有带有给定注释的 bean 并返回带有 bean 的映射 - 键是 bean 名称和值 bean 实例。科特林示例:
@Configuration
class AnnotatedBeansCounterConfig(
context: AbstractApplicationContext
) {
init {
context.getBeansWithAnnotation(Foo::class.java).forEach { beanName, bean ->
val annotation = bean::class.findAnnotation<Foo>()
}
}
}```
推荐阅读
- android - 在 UI 中显示 JSON API 数据
- r - 为 r 中的不同间隔分配不同的数字
- kotlin - 单线程上的协程并保证顺序性
- redis - Where can I download RedisInsight v1.2.2 for Windows?
- tensorflow - 超过使用限制后如何在 Google Colab 上再次使用 GPU?
- reactjs - 检查一个 React 组件是否被 forwardRef 包裹
- python - 带有 Docker 的 Tika 解析器 python 给出 RuntimeError:详细信息:无法启动 Tika 服务器
- python - 使用 BeautifulSoup 对 python 中的报纸文章进行精确的基于单词的网络抓取
- meteor - Meteor 在哪里存储它的节点副本?
- php - MediaLibrary Nova 关于 DB 中的表“Media”