AnnotationMetadata接口是對一個類上標注的所有(多個)注解的封裝,倘若一個類上有注解A和注解B,例如如下這樣子
@Controller
@RequestMapping("/ggg")
public class AController {}
那么下面代碼中,實例對象am就是對@Controller和@RequestMapping兩個注解的封裝抽象,獲取對應注解的信息時候,AnnotationMetadata接口中的很多參數是annotationName,這個annotationName指的是全限定名(包.類名稱)
// 低于5.2版本中可使用new StandardAnnotationMetadata
AnnotationMetadata am=new StandardAnnotationMetadata(AController.class);
// 5.2及以上版本中,不推薦StandardAnnotationMetadata,所以寫法如下
AnnotationMetadata am = AnnotationMetadata.introspect(AController.class);
// 獲取requestMapping注解中的所有屬性,注意是全限定名
String attributeName="org.springframework.web.bind.annotation.RequestMapping"
Map<String, Object> map = am.getAnnotationAttributes(attributeName);
總結:一個AnnotationMetadata接口實例,代表的是多個注解,是1v多的關系,且參數是全限定名
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态