java注解
1、注解是一种类型
注解与class、interface、Enum这些类型一样,是java中的一种类型,声明的时候使用@interface来声明。
2、元注解
@Retention
SOURCE 在源码向class文件编译时,做一些代码检查 CLASS class文件向字节码编译时,做预处理(默认值) RUNTIME 在jvm中运行时,去动态获取注解信息,执行一定的逻辑
@Documented
@Target
ElementType.ANNOTATION_TYPE 可以给一个注解进行注解 ElementType.CONSTRUCTOR 可以给构造方法进行注解 ElementType.FIELD 可以给属性进行注解 ElementType.LOCAL_VARIABLE 可以给局部变量进行注解 ElementType.METHOD 可以给方法进行注解 ElementType.PACKAGE 可以给一个包进行注解 ElementType.PARAMETER 可以给一个方法内的参数进行注解 ElementType.TYPE 可以给一个类型进行注解,比如类、接口、枚举
@Inherited
@Repeatable
3、注解的属性
注解的属性也叫做成员变量。注解只有成员变量,没有方法
注解中所有的成员对象在使用注解时都需要被使用,除了default默认值以外
4、注解提取
反射
- 确定该元素是否被注解 isAnnotationPresent
- 被注解的话获取到注解的参数值 getAnnotation、getAnnotations与getDeclaredAnnotations
- 获取注解对象的属性 getDeclaredFields
5、常用注解
@AliasFor
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Jvm-Sandbox源码分析--模块刷新和卸载
前言 Jvm-Sandbox源码分析--启动简析Jvm-Sandbox源码分析--启动时加载模块Jvm-Sandbox源码分析--增强目标类在之前三篇文章中我们对jvm-sandbox相关逻辑做了一些分析,本篇文章将要分析一下模块刷新,模块卸载的逻辑。 执行脚本 sh sandbox/bin/sandbox.sh -p pid -f/-F 刷新分为强制刷新和非强制刷新两种类型。 # -F force flush module [[ ! -z ${OP_MODULE_FORCE_FLUSH} ]] \ && sandbox_curl_with_exit "sandbox-module-mgr/flush" "&force=true" # -f flush module [[ ! -z ${OP_MODULE_FLUSH} ]] \ && sandbox_curl_with_exit "sandbox-module-mgr/flush" "&force=false" ModuleMgrModule flush方法 http请求都要通过Modu...
- 下一篇
Nacos的环境搭建
Nacos是阿里开源的一款服务治理方案的中间件,提供了服务发现和服务健康监测、动态配置服务、动态 DNS 服务、服务及其元数据管理等特性功能。 Nacos最新版本地址 https://github.com/alibaba/nacos/releases 下载后解压的目录如下 单机部署模式 1.进入到bin目录中 startup.sh -m standalone 2.访问http://ip:8848/nacos 如下,默认登录密码nacos/nacos 登录后管理页面如下 数据库模式 1.修改conf/application.propertis增加配置内容 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://ip:3306/nacos_config?useUnicode=true&characterEncoding=utf-8 db.user= db.password= 2.创建数据库nacos_config,执行/config/nacos-mysql.sql数据库脚本 2.进入到bin目录中 startu...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8