0

0

Java 注解——Java自己的配置文件

向前冲!

向前冲!

发布时间:2022-01-06 15:46:12

|

2374人浏览过

|

来源于php中文网

原创

作者留言

   哈喽,大家好,这是我的第一篇文章,我希望能够将所学习的知识进行归纳总结,并且与大家进行分享,接下来的一段时间会发布一系列javapython入门级别相关文章,并且是有体系的进行分享,夯实基础才能走的更远。希望大家不吝赐教!废话不多说,上干货!(如有涉及侵权处,请通过此平台联系本人删除)

前言

   XML作为配置文件受到了大部分程序员的喜爱,但也有人会偏爱使用注解,其实个人觉得选择什么并不是重点,重点是要了解每一个技术诞生的本质;XML作为配置文件和代码是“松耦合”的代码描述,但是当XML配置文件过多时难以管理,同时IDE无法对XML配置文件的正确性进行校验,增加测试难度;而注解则是“紧耦合”的代码描述,它的目的是为了让应用更易于扩展的同时做到“零”配置。

一、什么是注解(Annotation)

   注解即标注,是代码中的元数据(元数据:描述数据的数据),通过使用注解使得程序开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。请看以下代码片段:

  图片1.png

   对于初学者而言,其实经常会看到类似代码,心里会想@Override是什么鬼?其实它就是注解,在toString()方法上加入@Override,表示该注解下面的toString()方法必须重构父类方法。

立即学习Java免费学习笔记(深入)”;

   看到这里我想有人就会认为接下来我会和大家介绍各种各样的注解了?!我偏不!

二、注解类型的语法标准

   注解是Java中一种特殊的类型,接下来我们来看一下如何设计一个注解类型。

 1、语法标准:

public   @interface   注解类型名称
{
    [   数据类型    变量名 ()    [   default  初始值   ];   ]
}

        注:

       1)"[   ]"中的内容可有可无,如果注解内部为空,则表示当前注解为标识注解。

       2)注解中智能包含变量,不能包含方法。

       3)注解是代码里的特殊标记,不可以单独使用,需要配合类或接口一起使用。

       4)注解类型可以被用来为程序元素设置元数据(程序元素:类、方法、成员变量等)。

  2、案例:设计注解类型Testable,由该注解标识的方法为可测试方法。该注解内部为空,表示该注解为标识注解。

public  @interface  Testable
{
}
public class Test

{

      @Testable

       public void info()

      {

              System.out.println(“我是info方法”);

      }

      public void info1()

      {

              System.out.println(“我是info1方法”);

      }

}

该类中加入@Testable注解,表示info方法为可被执行到的方法,仅仅是描述该方法是可被执行的方法而已,并不会有任何动态交互能力,如果想要达成该注解的作用必须要编写配套的Java应用程序,具体代码可参考如下代码。

大家可以思考,如果想要解析一个类的内部结构,我们可以通过什么技术来实现呢?

答案是:反射机制(接下来这一段有关于反射机制的相关内容不清楚的朋友们,按照下面代码进行调试,具体反射机制的相关知识稍后会发布)。

       在java.lang.reflect包中常见的具有反射功能的工具类:Method(方法类)、Field(字段类)、Constructor(构造方法类)等。

以上这些工具类扩充了读取运行时注解的能力,即实现java.lang.annotation.AnnotatedElement接口;该接口是所有程序元素的父接口,该接口中提供了用于获取注解信息的相关方法。

LANUX蓝脑商务网站系统
LANUX蓝脑商务网站系统

LANUX V1.0 蓝脑商务网站系统 适用于网店、公司宣传自己的品牌和产品。 系统在代码、页面方面设计简约,浏览和后台管理操作效率高。 此版本带可见即可得的html编辑器, 方便直观添加和编辑要发布的内容。 安装: 1.解压后,更换logo、分类名称、幻灯片的图片及名称和链接、联系我们等等页面。 2.将dbconfig.php里面的数据库配置更改为你的mysql数据库配置 3.将整个文件夹上传至

下载
  • getAnnotation(Class annotationClass):返回该程序元素上的、指定类型的注解,如果该类型的注解不存在,则返回null

  • Annotation []  getAnnotations():返回该程序元素上存在的所有注解。

  • Annotation是所有注解的父接口,默认情况下任何一个接口类型都实现该接口。

  • boolean isAnnotationPresent(Class Extends Annotation> annotationClass):判断该程序元素上是否包含指定类型的注解,存在则返回true,否则返回false。

代码参考:

解析Test类,并执行带有@Testable标识的方法。

import java.lang.reflect.Method;
public class UseTest
{
        public static void main(String[] args)throws Exception
        {
                  Class c=Class.forName(“Test”);
                  Object o=c.newInstance();
                  Method[] me=c.getDeclaredMethods();
                  for(Method temp:me)
                  {
                           if(temp.isAnnotationPresent(Testable.class))
                                   temp.invoke(o,new Object[0]);
                  }
         }
}

好了,到现在为止大家可以运行程序看一下效果了!

。。。。。。。

是不是特别无语(ˉ▽ˉ;)...,通过执行代码会发现程序并无任何结果,和我们想想的不太一样?!

欲知后事如何,请看下回分解!

三、总结:

接下来让我们总结一下朋友们所需要掌握的知识点吧。

1、XML与注解的区别

2、什么是注解

3、注解设计的语法标准

4、反射机制

5、java.lang.annotation.AnnotationElement的方法及作用

四、结束语

   和大家说一下我匆匆结束的原因,第一次写文章,不知道发布出去的内容格式是什么样的,剩余相关知识请看下一篇文章,谢谢大家的支持。

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 2.5万人学习

C# 教程
C# 教程

共94课时 | 6.7万人学习

Java 教程
Java 教程

共578课时 | 45.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号