首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java注解,碎碎念

java注解,碎碎念

作者头像
剽悍一小兔
发布2021-03-02 10:44:31
3830
发布2021-03-02 10:44:31
举报

注解是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包,这就是框架。

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档