首页 > 软件开发 > JAVA >

两个小程序重新认识java注解

来源:互联网 2023-03-16 19:17:11 570

很长一段时间,注解对于我而言是一个望而生畏的单词,因为不了解所以害怕。后来接触到spring,发现这个东西无处不在,要想对spring有更深入的认识,这个知识点必须要学习一下了,所以就静下心来仔细研究一下。其实知识对于我们而言,不知是最难的,当你真正去学习时,发现也并没有多难(其实这个过程也是挺费劲的哈哈,就是要多钻研)。0eV办公区 - 实用经验教程分享!

我们常见的注解,大多是用spring的时候知道的,@Bean、@Resource、@Autowired、@controller、@service等。0eV办公区 - 实用经验教程分享!

本文将就用程序告诉大家,我们也可以拿到注解中的所有信息。0eV办公区 - 实用经验教程分享!

两个小程序重新认识java注解0eV办公区 - 实用经验教程分享!

工具/原料

  • ecplise
  • 注解

方法/步骤

  • 1

    注解的用处:有类似类变量、枚举的功效,可以作为静态全局信息存在。为什么这么说,先看一个栗子:(创建一个注解和一个类)。0eV办公区 - 实用经验教程分享!

    两个小程序重新认识java注解0eV办公区 - 实用经验教程分享!

    两个小程序重新认识java注解0eV办公区 - 实用经验教程分享!

  • 2

    输出1,注解内部的变量,和类变量用起来没有差别。0eV办公区 - 实用经验教程分享!

    两个小程序重新认识java注解0eV办公区 - 实用经验教程分享!

  • 3

    所以我的理解(现在这个阶段):注解就是一个配置信息,当这个注解加在了某个类、方法、属性上时,这些个类、方法或者属性就拥有了这个配置信息。而当我们使用注解的时候,很难感官的理解注解到底做了什么,因为这些东西对于我们来说全不可见。就比如spring的“@bean"注解,源码的解释:Indicates that a method produces a bean to be managed by the Spring container,其实意思就是给方法加上这个注解,spring容器会帮我们创建了一个bean,不需要我们去配置文件配置这个bean了。原始的xml配置方式:bean>id=.......class=......./bean>,默认情况下,Bean 的名字即为方法名。0eV办公区 - 实用经验教程分享!

    两个小程序重新认识java注解0eV办公区 - 实用经验教程分享!

  • 4

    首先获取注解内部的信息,怎么获取这些个配置信息哪,我使用了java.lang.Class类中的getMethod方法。通过这个例子,将在测试类中获注解MyAnnotationForMethod的属性和方法。0eV办公区 - 实用经验教程分享!

    创建一个注解和一个测试类,如下图。0eV办公区 - 实用经验教程分享!

    两个小程序重新认识java注解0eV办公区 - 实用经验教程分享!

    两个小程序重新认识java注解0eV办公区 - 实用经验教程分享!

    两个小程序重新认识java注解0eV办公区 - 实用经验教程分享!

  • 5

    其次获取MyAnnotationForMethod头上的信息,即修饰其的元注解信息,target和Retention。用的是,类的getAnnotations方法。0eV办公区 - 实用经验教程分享!

    两个小程序重新认识java注解0eV办公区 - 实用经验教程分享!

    两个小程序重新认识java注解0eV办公区 - 实用经验教程分享!

  • 6

    我们可以拿到注解的信息,这也就说明了,java会自动去处理这些注解(我们都能拿到注解的信息,java当然也能拿到这些信息,然后给类、方法、属性做一些特殊的处理)。其实我们要想开点,想的简单点,毕竟源码不是我们写的,它就是一个标签,当程序启动的时候,程序会自动扫描Class类,当发现这些个标签后,就会对类的内容做一些特殊的处理。0eV办公区 - 实用经验教程分享!

  • 6此文章非法爬取自百度经验
  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!0eV办公区 - 实用经验教程分享!


    标签: JAVA

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码