JAVA注解

Wesley13
• 阅读 452

一、初步认识注解

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。

点赞
收藏
评论区
推荐文章
光头强的博客 光头强的博客
2个月前
Java面向对象试题
1、请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。创建一个接口A,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿吃虫”。在Test类中向上转型创建b对象,调用eat方法。然后向下转型调用eat()方
Stella981 Stella981
1年前
Json解析工具 @JsonIgnore 注解的使用
@JsonIgnoreProperties        此注解是类注解,作用是json序列化时将javabean中的一些属性忽略掉,序列化和反序列化都受影响。@JsonIgnore        此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样。@JsonFo
Wesley13 Wesley13
1年前
SSM的基本知识点
\SpringSpring框架是一个容器,它的主要作用是创建和管理对象。Spring框架实现了解耦。Spring框架通过DI实现了IoC。关于Spring框架,必须掌握和理解的:1. Spring的基本概念与特性;2. 常用的注解:通用的4个注解,自动装配的注解;3.
Stella981 Stella981
1年前
SpotBugs注解SuppressWarnings在Java&Groovy中的应用
在最近做Java服务端代码静态测试过程中,目前采取的方案如下:测试拉取代码到本地。使用IDE:Intellij,插件:SpotBugs(无增强插件)进行静态测试,更新BUG信息,维护文档和代码中的注解。开发修复禅道BUG。QA拉取修复代码分支,与本地分支(含有抑制注解)进行合并,
Stella981 Stella981
1年前
Spring 4.3 的新功能和增强
核心容器改进核心容器额外提供了更丰富的元数据来改进编程。默认Java8的方法检测为bean属性的getter/setter方法。如果目标bean只定义了一个构造函数,则它无需要指定@Autowired注解@Configuration类支持构造函数注入。任何SpEL
Stella981 Stella981
1年前
SpringBoot自定义注解
JDK1.5起开始提供了4个元注解:@Target、@Retention、@Documented、@Inherited。何谓元注解?就是注解的注解。@Target({ElementType.PARAMETER,ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@
Wesley13 Wesley13
1年前
Java元注解
1、注解数据类型注解是写在.java文件中,使用@interface作为关键字,所以注解也是Java的一种数据类型,从广泛的定义来说,Class、Interface、Enum、Annotation都属于Class类型。2、元注解在创建注解的时候,需要使用一些注解来描述自己创建的注解(即注解的注解),就是写在@interfac
Wesley13 Wesley13
1年前
Java 注解
概述注解时在Java5中开始引入的概念。可以将注解想象成标签,给指定的方法、类、变量、参数、包等贴上一个标签。!Java注解(https://oscimg.oschina.net/oscnet/6503c7a6ffdfc128c47635d91220373e1af.jpg)@Override注解就是告诉编译器,这个方法是重写的父类方
Wesley13 Wesley13
1年前
Java Annotation详解 理解和使用Annotation
系统中用到了java注解:查了一下如何使用注解,到底注解是什么;(1)创建方法:MsgTraceJavaClass在CreateNewClass中:name:输入MsgTrace;Kind:Annotation;就可以了;public@interfaceMsgTrace{String
Stella981 Stella981
1年前
Spring Security使用详解10(通过注解配置方法安全)
在之前的文章样例中,认证和授权都是基于URL的。开发者也可以通过注解来灵活地配置方法安全,下面通过样例进行演示。 十、通过注解配置方法安全1、样例代码(1)首先我们要通过@EnableGlobalMethodSecurity注解开启基于注解的安全配置:@EnableGlobalMethodSecurity注解参