JDK注解概述

    xiaoxiao2024-12-13  13

    注解 Jdk1.5新增新技术,注解。很多框架为了简化代码,都会提供有些注解。可以理解为插件,是代码级别的插件, 在类的方法上写:@XXX,就是在代码上插入了一个插件。 注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。 注解分类:内置注解(也成为元注解 jdk 自带注解)、自定义注解(Spring框架) 什么是内置注解 (1) @SuppressWarnings 再程序前面加上可以在javac编译中去除警告--阶段是SOURCE (2) @Deprecated 带有标记的包,方法,字段说明其过时----阶段是SOURCE (3)@Overricle 打上这个标记说明该方法是将父类的方法重写--阶段是SOURCE 讲一个非常高大上的东西,就是去手写一个@Transaction注解,我希望我今天讲完手写事务之后,我觉得对任何学员都有非常大的 帮助,因为你们在今后的时候,比如在做架构师的时候,可能会经常封装一些工具类,那我们先从基础开始讲起,这个注解你们都熟不熟, 有没有谁自定义过注解的,我大概发10分钟的时间讲一下,这个注解我相信只要刚学JAVASE的时候,都是讲过的,但是你们有没有自定义过 注解,就是自己写一个,有没有,自己写一个,我们今天要讲,我这个讲快一点,因为这个比较简单,我就直接做个总结,这个自定义注解是 JAVA JDK1.5之后,他就产生一个注解,注解他的目的是干嘛,你们谁能说一下,我们这节课还会讲一遍的,还会给你讲一下的,因为我们 会从0开始写框架,所以我还会给大家讲一下的,然后注解你们都是会比较清楚,最大的优点是什么啊,能够简化一下xml配置, 比如像你们之后,他的目的却是是能够简化xml配置,比如你们以后学到SpringBoot的时候,为什么要讲到这个呢,因为你们到 SpringBoot的时候,他根本就不用到xml,就是通过注解方式替代xml了,这样的目的是什么呢,能够去简化这样的一个代码,一个量, 所以我相信你们一定用过很多注解的,其中说一下,你们用过哪些注解,谁能够讲一下的,谁能够讲一下用过哪些注解, 都可以说出来,什么service,什么resource,什么value都可以,我就不细说了,你们可能都用过了,那首先注解他分为两种, JDK他自带的注解,还有一种他叫做自定义注解,像你们用过SpringMVC的时候,你就会发现在SpringMVC框架里面, 基本上是通过注解来做URL路径设计的,那么这个我就要讲一下,像你们用过一些类的注解,我大概说一下, 类的注解大概有哪一些,是这些,我先写个简单的例子 package com.learn; import java.util.ArrayList; import java.util.Date; /** * 首先讲第一个注解 * * * @author Leon.Sun * */ public class Test002 { // @Override 表示为重写 /** * 你们在用toString方法的时候发现 * 他在这上面是不是加上这个注解@Override * 这个注解它是起什么样的作用啊 * 谁能够说一下的 * 这个注解他起什么样的作用 * 谁能够跟我讲一下的 * 重载需要用到注解吗 * 重写记住 * 记住是重写 * 这个注解表示重写的 * JDK1.5出来之后这个注解也是可以用到的 * @Override这个注解表示为重写 * 我是说重写不是重载 * * */ @Override public String toString() { return super.toString(); } /** * 比如我在这里写一个add方法之后呢 * 然后这个时候怎么办呢 * 我在这里加一个重写 * 加一个@Override重写的注解可不可以 * 是不是报错 * 为什么呢 * 因为这个add方法 * 首先我们任何的类 * toString是Object类里面的 * add方法首先在Object类里面根本就没有 * 所以肯定是不行的 * 这个注解是起到编译和检查的作用 * 这个你们都知道 * 我就不去细说了 * 然后还有一个注解 * 警告我们这边写一下 * * 然后这边还有一个带有标记的 * 比如我在这里写一个方法 * 这样一个new Date方法 * 他首先报了一个杠 * 报了一个横线 * 看到没有 * 为什么呢 * 这表示什么意思 * 是不是相当于过时了 * 是不是api过时了 * 是不是这样的 * 肯定过时了 * 你看一下 * 加这样的一个注解 * 不过我这样怎么做呢 * 我自定义一个过时方法 * 我这样写@Deprecated * 看到没有 * 我要写成静态的 * * * */ @Deprecated public static void add() { // // api 过时 new Date().parse(""); } /** * 这个代码就比较简单 * * @param args */ @SuppressWarnings("all") public static void main(String[] args) { /** * 我不写泛型 * 他就会报了一个黄的 * 是不是做一个警告 * 我们没有指定具体的泛型类型 * 有的放在方法上面 * 有的放在类上面 * 进行去警告 * 这个具体看你们自己 * 这个警告我相信你们之前都用过的 * 去警告我就不去细说 * 有的人说我去写all * @SuppressWarnings("all") * 把所有的警告全部清除掉 * 警告的话具体怎么来说呢 * 看你们自己好吧 * 这个我就不去细说了 * 这个就比较简单 * 你如果不想使用警告的话 * 你就加个泛型就可以了 * * * * */ new ArrayList(); /** * 然后调用这个方法 * 这样是不是相当于过时了 * 这表示不推荐使用 * 这几个注解比较简单 * 大致的给大家说一下 * 这是他JDK里面内置的几个注解 * 我们讲的是自定义注解 * */ add(); } }

     

    最新回复(0)