java注解什么时候有的_java注解,碎碎念

注解是java学习中非常重要,但是一直被我们忽略的一环,因为大部分时候,我们只需要知道怎么用就可以了。

比如SpringBoot,我们通过一个注解,就可以直接把项目跑起来,然后监听8080端口,什么Tomcat,servlet,愣是一个都没见到。更不得了的是,你连web.xml都看不到。

注解可真是神器的玩意儿,在工作中,我们随手打一个@Controller,就相当于是一个servlet。

反正大家都这么写,我们也就懒得去关心其中的原理。一开始我也疑惑,到底是怎样的魔力,使得注解如此好用,让人上瘾呢?

本文不贴代码,只聊天。

1.注解是什么?

注解是一种特殊的接口,如果你把注解的class拿去反编译就会知道这一点。我们写注解,本质还是在写一个接口,这是一个特殊的接口。

2.注解里面有什么?

因为注解是一个接口,所以里面可以写方法。当然,是抽象方法。只不过,你的方法名要看起来像是一个属性名。比如,你不要写什么getValue,而应该就写value,这些方法名是注解的属性。

记住这一点,真的很重要,可以让你少走很多弯路。

3.注解什么时候起作用?

注解编写完毕后,可以打在类上,属性上,还有方法上。你需要通过target元注解来声明到底要打在什么地方。然后,你必须要有个地方去读取这个注解,比如springboot框架,在框架里面必然有地方去解析@Controller。

在你启动项目的时候,springboot就去寻找哪些class打了@Controller注解,找到一个就收藏一个,自动帮你new好了存起来。

记住,注解的意义就是在某个时刻被读取,然后做一些事情。如果你自己写了一个注解,却没有任何读取的地方,那你就是在耍流氓。好好的一个类,被你冷不丁打一个@MyAnnotation注解,却没有任何解析的地方,你觉得类能开心吗?

4.保留策略

保留策略是打在注解上的注解,就是告诉你这个注解可以保存到什么时候,我们自己写注解一般是为了方便开发,所以要保留到运行时。

5.想炫技?

你自己写注解的话,可以用来定制某些东西,方便开发,有一些炫技的成分。不过大部分奇思妙想,早就有人做了,都是用的注解,然后打成jar包,这就是框架。

任何框架的作者,基本都不希望你去了解他们在什么时候读取了注解,然后做了哪些事情的?他们只希望使用者直接打注解就行了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值