简单谈谈java注解

java注解

此注解非彼注解,相对于开发中配置XML文件,注解更加方便简洁,有了注解在很大程度上
可以免去XML一部分任务。

1、什么是注解?

注解:Annotation

简单来说就是代码中的特殊标记,带有@的特殊标记。

这些标记会在代码编译、运行、类加载等的时候被读取到,并执行相对应的处理。

2、为什么要用到注解?

传统方法来讲,我们一般是在配置文件XML中配置我们需要的信息来告诉该去如何实现运行,通俗点儿讲就像是我们平时看书的时候的标签一样,在使用这段代码时我们或者编译器会先去看你的标签上写了什么,说明了什么。

有了注解技术后就可以直接在代码中通过给类、方法上输入信息的方式告诉类如何去实现,在代码阶段就已经告知了一些在配置文件中需要做的事情,这些注解不会直接影响到你的代码执行。

简单说几种相对常见的注解吧

  • @Override
  • @Deprecated
  • @SuppressWarnings
  • @SafeVarargs
  • @Resource
    ①@Override

override是重写父类非私有方法,返回类型和形参都不能改变,不能重写final方法(继承),告诉编译器要检查该方法是实现父类的,可以帮助我们避免一些低级问题

②@Deprecated

Deprecated是过时注解,在开发过程可能会觉得某些方法设计得不够好,为了兼容以前的程序又不能将其删掉,于是就把他设置为过时。而一旦设置成过时得方法后在调用得时候IDE上会显示一条横杠,表明这是过时的。

③@SuppressWarnings

SuppressWarnings是抑制编译器警告注解,该注解不是很常见,它的最大的作用就是写出来让编译器不发出警告(是不发出警告不是不报错!!),我知道有问题但我就是不想让编译器提醒。

④@SafeVarargs

SafeVarargs是堆污染警告,该注解提示开发者不要用参数做一些不安全多余的操作,它的存在会让编译器出现unchecked这样的警告。
还有一些注解因为不常用或者说我还没用到所以就不一一列举,有兴趣的可以自行查看相关资料。

⑤@Resource

Resource是做依赖注入,从容器中自动获取bean。是Spring下的。
在启动容器后会在容器中默认寻找可加载bean中含有@Resource注解的并判断@Resource注解括号中的name属性是否为空,如果为空:看spring容器中的bean的id与@Resource要注解的那个变量属性名是否相同,如相同,匹配成功;如果不相同,看spring容器中bean的id对应的类型是否与@Resource要注解的那个变量属性对应的类型是否相等,若相等,匹配成功,若不相等,匹配失败
如果@Resource注解括号中的name属性不为空,看name的属性值和容器中的bean的id名是否相等,如相等,则匹配成功;如不相等,则匹配失败

3、注解与反射

我们的代码中有了注解之后得用得上啊,怎么知道我们的注解是否有效或者说是否正确?怎么将我们的注解运用到方法上呢?那就得用到一个机制---->反射

什么是反射?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值