JAVA注解

Wesley13
• 阅读 671

一、初步认识注解

1.为什么学习注解?

答:  a.能够读懂别人写的代码,特别是框架相关的代码

         b.让编程更加简洁,代码更加清晰

2.注解概念?

答:java提供了一种原程序中的元素关联任何信息和任何元数据的途径和方法

二、java中的常见注解

1.JDK自带注解:

         a、@Override

         覆盖父类方法

         b、@Deprecated

         表示该方法已过时

         c、@Suppvisewarnings

         忽略过时方法所带来的警告

2.常见第三方注解:

         a、@Autowired

         可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。通过@Autowired的使用来消除set,get方法。

    用法:

    public class UserManagerImpl implements UserManager {

                            @Autowired

                              private UserDao userDao;

               }

         b、@Service

         用于标注业务层组件。定义某个类为一个bean,则在这个类的类名前一行使用@Service(“XXX”),就相当于将这个类定义为一个bean,bean的名称为xxx.而无需去xml文件内配置。

         c、@Repository

         用于标注数据访问组件,即DAO组件。

三、注解分类

1.按照运行机制分:

         a、源码注解:注解只在源码中存在,编译成.class文件就不存在了

         b、编译时注解:注解在源码和.class文件中都存在(JDK自带注解都属于编译时注解)

         c、运行时注解:在运行阶段还起作用,甚至会影响运行逻辑的注解(@Autowired属于运行时注解)

2.按照来源分:

         a、来自JDK的注解

         b、来自第三方的注解

         c、我们自己定义的注解

3.还有一种特殊的注解:

         a、元注解

四、自定义注解

1.自定义注解的语法要求

2.注解的注解(元注解)

3.使用自定义注解

  a、注解方法不能带有参数;

  b、注解方法返回值类型限定为:基本类型、String、Enums、Annotation或者是这些类型的数组;

  c、注解方法可以有默认值;

  d、注解本身能够包含元注解,元注解被用来注解其它注解。

4.示例

  JAVA注解

  上面的代码中有四种类型的元注解:

    a、@Documented——指明拥有这个注解的元素可以被javadoc此类的工具文档化。这种类型应该用于注解那些影响客户使用带注释的元素声明的类型。如果一种声明使用Documented进行注解,这种类型的注解被作为被标注的程序成员的公共API。

    b、**@Target——指明该类型的注解可以注解的程序元素的范围。该元注解的取值可以为TYPE,METHOD,CONSTRUCTOR,FIELD等。如果Target**元注解没有出现,那么定义的注解可以应用于程序的任何元素。

    c、**@Inherited——指明该注解类型被自动继承。如果用户在当前类中查询这个元注解类型并且当前类的声明中不包含这个元注解类型,那么也将自动查询当前类的父类是否存在Inherited**元注解,这个动作将被重复执行知道这个标注类型被找到,或者是查询到顶层的父类。

    d、**@Retention**——指明了该Annotation被保留的时间长短。RetentionPolicy取值为SOURCE,CLASS,RUNTIME。

点赞
收藏
评论区
推荐文章
kenx kenx
2年前
Java自定义注解使用和详解
前言我们在做开发springboot项目时候会遇到各种各样注解,使用各种各样注解,极大的简便了我们开发流程,方式,从JDK5开始支持注解是Java语言的一种强大的功能可以理解为代码上的特殊标记,通过这些标记我们可以在编译,类加载,运行等程序类的生命周期内被读取、执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息自定
Wesley13 Wesley13
2年前
java mvc 新趋势——从运行期间类扫描到编译期间
简介今天我要讲解的是主角是AnnotationProcessor,她不是什么新技术jdk1.6就存在了。AnnotationProcessor是javac的一个工具,它用来在编译时扫描和处理注解。通过AnnotationProcessor可以获取到注解和被注解对象的相关信息,然后根据注解自动生成Java代码,省去了手动编写,
lucien-ma lucien-ma
2年前
注解和反射
注解和反射1.注解1.1什么是注解?注解和注释的差别在于注解可以被其他程序读取1.2内置注解@Override定义在java.lang.Override中,表示一个方法声明打算重写超类中的另一个方法声明@Deprecated定义在java.lang.Deprecated中,此注解可以用于修辞方法,属性,类,表示不鼓励程序员使用这样的
Wesley13 Wesley13
2年前
java注解的自定义和使用
小伙伴们。今天我们来说说注解、标志@。针对java不同版本来说,注解的出现是在jdk1.5但是在jdk1.5版本使用注解必须继续类的方法的重写,不能用于实现的接口中的方法实现,在jdk1.6环境下对于继续和实现都是用。jdk1.5版本内置了三种标准的注解:@Override,表示当前的方法定义将覆盖超类中的方法。@Deprecated,使用了
Stella981 Stella981
2年前
SpotBugs注解SuppressWarnings在Java&Groovy中的应用
在最近做Java服务端代码静态测试过程中,目前采取的方案如下:测试拉取代码到本地。使用IDE:Intellij,插件:SpotBugs(无增强插件)进行静态测试,更新BUG信息,维护文档和代码中的注解。开发修复禅道BUG。QA拉取修复代码分支,与本地分支(含有抑制注解)进行合并,
Stella981 Stella981
2年前
Spring 4.3 的新功能和增强
核心容器改进核心容器额外提供了更丰富的元数据来改进编程。默认Java8的方法检测为bean属性的getter/setter方法。如果目标bean只定义了一个构造函数,则它无需要指定@Autowired注解@Configuration类支持构造函数注入。任何SpEL
Wesley13 Wesley13
2年前
Java元注解
1、注解数据类型注解是写在.java文件中,使用@interface作为关键字,所以注解也是Java的一种数据类型,从广泛的定义来说,Class、Interface、Enum、Annotation都属于Class类型。2、元注解在创建注解的时候,需要使用一些注解来描述自己创建的注解(即注解的注解),就是写在@interfac
Wesley13 Wesley13
2年前
Java 注解
概述注解时在Java5中开始引入的概念。可以将注解想象成标签,给指定的方法、类、变量、参数、包等贴上一个标签。!Java注解(https://oscimg.oschina.net/oscnet/6503c7a6ffdfc128c47635d91220373e1af.jpg)@Override注解就是告诉编译器,这个方法是重写的父类方
Wesley13 Wesley13
2年前
Java Annotation详解 理解和使用Annotation
系统中用到了java注解:查了一下如何使用注解,到底注解是什么;(1)创建方法:MsgTraceJavaClass在CreateNewClass中:name:输入MsgTrace;Kind:Annotation;就可以了;public@interfaceMsgTrace{String
Stella981 Stella981
2年前
Spring Security使用详解10(通过注解配置方法安全)
在之前的文章样例中,认证和授权都是基于URL的。开发者也可以通过注解来灵活地配置方法安全,下面通过样例进行演示。 十、通过注解配置方法安全1、样例代码(1)首先我们要通过@EnableGlobalMethodSecurity注解开启基于注解的安全配置:@EnableGlobalMethodSecurity注解参