JavaEE 注解笔记:(一)
* 概念:说明程序的。给计算机看的
* 注释:用文字描述程序的。给程序员看的
* 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
* 概念描述:
* JDK1.5之后的新特性
* 说明程序的
* 使用注解:@注解名称
* 作用分类:
①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
* JDK中预定义的一些注解
* @Override :检测被该注解标注的方法是否是继承自父类(接口)的
* @Deprecated:该注解标注的内容,表示已过时
* @SuppressWarnings:压制警告
* 一般传递参数all @SuppressWarnings("all")
* 自定义注解
* 格式:
元注解
public @interface 注解名称{
属性列表;
}
* 本质:注解本质上就是一个接口,该接口默认继承Annotation接口
* public interface MyAnno extends java.lang.annotation.Annotation {}
* 属性:接口中的抽象方法
* 要求:
1. 属性的返回值类型有下列取值
* 基本数据类型
* String
* 枚举
* 注解
* 以上类型的数组
2. 定义了属性,在使用时需要给属性赋值
1. 如果定义属性时,使用default关键字给属性默认初始化值,则使用注解时,可以不进行属性的赋值。
2. 如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略,直接定义值即可。
3. 数组赋值时,值使用{}包裹。如果数组中只有一个值,则{}可以省略
* 元注解:用于描述注解的注解
* @Target:描述注解能够作用的位置
* ElementType取值:
* TYPE:可以作用于类上
* METHOD:可以作用于方法上
* FIELD:可以作用于成员变量上
* @Retention:描述注解被保留的阶段
* @Retention(RetentionPolicy.RUNTIME):当前被描述的注解,会保留到class字节码文件中,并被JVM读取到
* @Documented:描述注解是否被抽取到api文档中
* @Inherited:描述注解是否被子类继承
* 在程序使用(解析)注解:获取注解中定义的属性值---》参考 JavaEE注解学习:(二)
1. 获取注解定义的位置的对象 (Class,Method,Field)
2. 获取指定的注解
* getAnnotation(Class)
//其实就是在内存中生成了一个该注解接口的子类实现对象
public class ProImpl implements ProA{
public String className(){
return "cn.itcast.annotation.Demo1";
}
public String methodName(){
return "show";
}
}
3. 调用注解中的抽象方法获取配置的属性值
* 案例:简单的测试框架
* 小结:
1. 以后大多数时候,我们会使用注解,而不是自定义注解
2. 注解给谁用?
1. 编译器
2. 给解析程序用
3. 注解不是程序的一部分,可以理解为注解就是一个标签
JavaEE 注解笔记:(一)相关推荐
- Linux+javaEE学习笔记之Linux网络环境配置
Linux+javaEE学习笔记之Linux网络环境配置 网络知识简单介绍: Ip地址是:IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物 ...
- JavaEE学习笔记-SpringBoot快速上手、热部署、乱码问题、部分注解解释
SpringBoot快速上手 一.快速创建SpringBoot应用 1.1利用IDEA提供的Spring Initializr创建Spring Boot应用 1.2Spring Boot生成的项目结构 ...
- javaee入门笔记2
开发基于Mysql.Servlet.JSP的作业管理系统: 实现功能: 老师:添加作业,添加学生.查询学生作业: 学生:根据老师添加的作业,进行作业提交: 简要思路实现: 首先先用Mysql对数据库进 ...
- spring mvc注解笔记
1.@Controller @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象.分发处理器将会扫描使用了该注解的类的方法, 并检测该方法是 ...
- 参考 JavaEE注解学习:(二)
在程序使用(解析)注解:获取注解中定义的属性值,并利用反射来调用方法 步骤1:获取注解定义的位置的对象 (Class,Method,Field) 步骤2:获取指定的注解 步骤3:调用注解中的抽象方法 ...
- Temporal注解笔记
摘自:https://www.cnblogs.com/meng-ma-blogs/p/8474175.html 数据库的字段类型有date.time.datetime 而Temporal注解的作用就是 ...
- 超详细的java基础知识学习(java SE、javaEE)笔记 核心重点!
标识符 Java 的标识符是由字母.数字.下划线_.以及美元符$组成,但是首字母不可以是数字.Java 标识符大小写敏感,长度无限制,不能是 Java 中的关键字.命名规则:要见名知意! u 变量要 ...
- JavaEE学习笔记整理
目录 1:明白什么是JavaEE 2:JavaEE的主要技术 (1)JDBC (2)JavaBeans (3)JSP (4)Servlet 3:JavaEE框架 (1)MVC框架 (2)SSM Jav ...
- JavaEE 学习笔记 —— Spring Framework
spring framework runtime 核心容器 容器:servlet 容器.集合 线程池.常量池.数据库连接池的作用类似于容器 但是他们属于设计模式中的享元模式,即从池子中取东西,如果取不 ...
最新文章
- Error: “incorrect inclusion of a cudart header file”
- Delphi 调用C#编写的WebService 参数为Null解决方法
- vue axios 配置上服务器后报错'Access-Control-Allow-Origin' header](亲测)
- 嵌入式开发中,用C++真香!
- 机器学习之Fisher线性分类器实现样本分类
- 代码实现tan graph model for classification_几行代码搞定ML模型,低代码机器学习Python库正式开源...
- python专业方向 | 文本相似度计算
- 帮你免于失业的十大技术
- 【Latex】PPT画图,导出emf格式,word插入emf文件并导出pdf,pdf裁剪并导出eps文件,latex插入eps文件
- Springcloudalibaba整合es!实现相关性排序,集成完代码真香
- 详解ZStack Cloud v4.0:自研VPC网络模型实践指南
- 学习笔记 | c++中四种类型cast(强制)转换
- CarSim与多版本MATLAB联合仿真问题
- Druid监控页面配置用户密码、去除Ad
- Smarty - 官方网站
- python全栈(一)网络通信与服务器之多任务-进程
- 这四款优傲机器人中哪一个最适合你?
- 低版本 android 软件下载,触漫旧版本下载
- C:\Windows\System32\drivers\etc 没有hosts文件解决办法
- php如何实现余额充值,PHP集成支付宝快速实现充值功能
热门文章
- 为推广5G 4G网络降速?三大运营商回应:不存在的!
- 中国联通辟谣“不支持华为”:恶意诽谤 将通过法律手段维护权益
- 又烧一辆!蔚来ES8车库夜里起火 两个半小时才熄灭:现场惨烈
- Python产生随机数(转)
- 晨哥真有料丨等女神分了我上位!
- html读取媒体长度,用媒体查询media根据屏幕分辨率大小确定网页宽度
- puppeteer 自动化测试 一
- Oracle 索引相关
- oracle如何查询排行第二,Oracle优化查询改写(第二章-给查询结果排序)
- PHP实现的服务器端,用PHPStorm实现在本地实时编辑服务器端的代码