JDK注解概述

注解
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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值