spring之MetadataReader、ClassMetadata、AnnotationMetadata

news/2025/3/29 19:39:16/

在Spring中需要去解析类的信息,比如类名、类中的方法、类上的注解,这些都可以称之为类的元数据,所以Spring中对类的元数据做了抽象,并提供了一些工具类。

MetadataReader表示类的元数据读取器,默认实现类为SimpleMetadataReader。

SimpleMetadataReader去解析类时,使用的ASM技术。

为什么要使用ASM技术,Spring启动的时候需要去扫描,如果指定的包路径比较宽泛,那么扫描的类是非常多的,那如果在Spring启动时就把这些类全部加载进JVM了,这样不太好,所以使用了ASM技术。

示例代码:

    public static void main(String[] args) throws IOException {SimpleMetadataReaderFactory simpleMetadataReaderFactory = new SimpleMetadataReaderFactory();// 构造一个MetadataReaderMetadataReader metadataReader = simpleMetadataReaderFactory.getMetadataReader("com.ming.spring.service.UserService");// 得到一个ClassMetadata,并获取了类名ClassMetadata classMetadata = metadataReader.getClassMetadata();System.out.println(classMetadata.getClassName());// 获取一个AnnotationMetadata,并获取类上的注解信息AnnotationMetadata annotationMetadata = metadataReader.getAnnotationMetadata();for (String annotationType : annotationMetadata.getAnnotationTypes()) {System.out.println(annotationType);}}

http://www.ppmy.cn/news/721026.html

相关文章

Michael.W基于Foundry精读Openzeppelin第3期——Arrays.sol

Michael.W基于Foundry精读Openzeppelin第3期——Arrays.sol 0. 版本0.1 Arrays.sol 1. 补充:关于storage的定长数组和动态数组的layout2. 目标合约3. 代码精读3.1 unsafeAccess(address[] storage, uint256)3.2 unsafeAccess(bytes32[] storage, uint256)3.3 unsafe…

开发使用air还是pro_苹果MacBook全系选购指北,Air和Pro如何选?

2020款MacBook Pro13英寸上市后,苹果就完成了Mac笔记本的全线更新。 目前官网在售的MacBook全线的键盘从原来的蝶式换成了键程更长的剪刀脚键盘,打字的手感有较为明显的提升。有触控栏的机型,指纹识别和esc按键也独立了出来,提升了效率的同时也避免了误触Siri。 当前官网在…

imac pro 接显示器_您应该购买iMac Pro,还是等待模块化Mac Pro重新设计?

imac pro 接显示器 When Apple refreshed the venerable Mac Pro desktop in 2013, reception was mixed to say the least. While the second-gen machine’s tiny footprint and polished case (aka the “trash can”) are certainly eye-catching, and there’s an undenia…

「学编程常见问题」学Java要准备什么配置的电脑?

学Java对电脑的配置没有特别高的要求,不需要买配置特别好的电脑,普通PC机可以参考下方的这个配置哦! 操作系统:Win10 或 Mac,优先Win10 内存:推荐16G及以上,8G也OK,越大越好 CPU&…

java开发mac pro_苹果MacBook全系选购指北,Air和Pro如何选?

当前官网在售的MacBook系列机型分别有MacBook Air、MacBook Pro13英寸、MacBook Pro16英寸这三款,每一款都有高配和低配可选,接下来就分别来讲一下这几款Mac笔记本之间的区别。 MacBook Air Air的性能并不弱,它配备的核心显卡同13寸的pro高配是一个级别,支持6K的显示器输出…

A10 Fusion很强大 苹果成为英特尔的最大威胁

(苹果A10 Fusion处理器性能强大) 北京时间9月17日消息,苹果在iPhone 7和7 Plus上安装了A10 Fusion处理器,这款处理器的性能有了很大的提升,让评测人员大为惊叹。科技评论者弗拉德萨弗夫( Vlad Savov &#…

怎么复制黑苹果config配置_Catia中端电脑配置推荐(黑苹果)

​ 各位好: 今天给各位讲讲我最近想配的电脑的思路: 先说下需求: ①旧电脑无法满足设计量了; ②Catia是我重度依赖的软件,会结合FloEFD插件,另外有Keyshot、CAD等; ③本人也喜欢音乐&#xff0c…

苹果笔记本双系统怎么切换_2020年你该怎么选择苹果笔记本,资深用户带你讲透MacBook Air MacBook Pro...

作为一名曾经的苹果生态开发者 我2012年10月份购入自己的第一台苹果笔记本:MacBook Pro 13寸,那时候还很厚重,机械硬盘的配置,为了省钱,在官网翻新机渠道购买的,记得当初新机的原价是8000多,翻新…