java中 如何声明与使用_Java注解是不是侵入,如何声明和使用?

Java Annotation注解也叫元数据,不改变程序的运行,在编译、加载、运行时被读取,可以被很多工具使用,比如代码扫描工具、开发工具和部署工具等。

Java注解从5.0开始出现,Spring框架也从2.5开始舍弃xml配置,使用注解。

下面从保留策略、注解分类、反射读取几个方面介绍Java注解。

一,Java注解

使用@interface声明一个注解,然后@注解名称。

29d029e221b603d7be74bff756375afe.png

78a261e3b5ff305f031bbebcd808d659.png

二,Java注解保留策略

声明注解时,指定不同的保留策略RetentionPolicy,比如@Override在编译时就被丢弃了,@Bean注解一直保留到运行时。

0c58eed44f379cbdcbe95cf823f81112.png

8d04204ad7c291bd59b5a828ec3d9a10.png

925d6aef4a6530c604d9f1c17c99b137.png

三,Java注解分类

Java注解很多,应用于多种功能场景,可以声明在package包、类、方法、成员变量、局部变量、形参等前面,用来对这些元素进行说明和注释。我们在实际开发工作中,会经常使用到一些注解,比如@Override, @Test,还有一些Spring注解,比如@Service, @Autowired, @SpringBootApplication

Java + Spring Boot开发时,用到的注解按照来源可以分类为:Java内置注解、Spring注解、Web注解、自定义注解,等等。

6f733a9f5970688c68f0730a8db0fd2c.png

四,如何读取注解?

Package、Class、Constructor、Method、Field都实现了接口AnnotatedElement,该接口位于反射包java.lang.reflect中,调用功能函数获取注解信息:

5677a17801c4056800630d06586e4a4d.png

五,代码实例

比如声明一个HelloAnnotation注解,创建一个HelloClass类,然后增加注解。代码运行读取注解信息时,调用Class实现的AnnotatedElement反射接口函数,示例代码如下:

e981323402c07a3e21ff6808785255b7.png

六,总结

Java注解不是代码侵入,只是在源文件中嵌入“附加”信息,不改变原程序的运行。获取注解信息时通过反射机制读取。

有网友评论,Java注解用途广泛,熟练使用它们有助于提高代码质量和开发效率,也是工程师水平高低的一个反映。

3af2256d69eeffa2f8ff22c47ed81f5c.png

#Java#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值