您的位置:首页 > 职场人生

黑马程序员——简析java注解

2015-10-12 23:21 267 查看
1.概述

java中的注解就是如下图所示,注解是我们在开发时经常见到的东西。

我们为什么要学习注解呢?学习注解又有什么好处呢?学完注解我们能做什么?

 1学习注解有助于我们读懂别人的代码,尤其是关于框架的代码。

2可以使我们编程可以变得简单,代码更加清晰

3可以让别人高看一眼。

会用不是重点,重点是我们可以通过自定义注解解决问题。

1.1概念

          注解是java中提供了一种原程序中的元素关联任何信息和任何元素的途径和方法。

2java中的常见注解

jdk 自带的注解

  

2.1 @Override      重写方法时使用的标记  ,表示覆盖父类方法

@Deprecated    表示方法已过时,单同时有人可能正在使用无法修改  是用此注解标识,对于标示过的方法

重写时会在 代码中提示方法已过时。

@Suppvisewarning   如果我们须要使用已过时方法,有不编译工具提示就可以使用此标示,

格式@Suppvisewarning("d[b]eprecation")表示忽略过时[/b]

2.2常见的第三方注解

@Autowired
@InsertProvider


Spring @Service
@Mybatis @UpdateProvider


@Repository
@Options


  可以简化代码。

3 注解的分类

  3.1分类 机制

     3.11按照源码注解

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

 3.12编译时注解

注解在源码和.class文件中都存在

[b]@Override[b]@Deprecated  [b]@Suppvisewarning 属于编译器注解[/b][/b][/b]

 3.13运行时注解

在运行阶段还起作用,甚至会影响运行逻辑的注解

[b]@Autowired属于运行时注解[/b]



    3.2按照来源来分

3.21来自jdk 的注解

3.22来自第三方的注解

我们大部分解除的注解

3.33我们自定义的注解

3.3元注解

注解的注解

4自定义注解(重点)

       4.1自定义注解的语法要求



                   

    4.11   成员类型是有限制的,合法的类型包括基本类型及String,Class,Annotation,Enumeration.

    4.12    注解只有一个成员时,成员名称必须取名为value(),使用时可以互虐成员名和赋值号(=)

    4.13    注解内可以没有成员,没有成员的注解成为标示注解 

4.2注解的注解(元注解)



      这就是元注解



   
表示注解的作用域


   注解作用域列表  

1.CONSTRUCTOR

构造函数声明

2.FIELD

字段声明


3.LOCAL_VARIABLE

局部变量

4.METHOD


方法声明

5.PACKAGE

包声明

6.PARAMETER

参数声明

7.TYPE

类/接口声明



生命周期

SOURCE

只在源码显示编译时会丢弃

CLASS

编译是会记录到class中,运行时忽略

RUNTIME

运行时存在,可以通过反射读取



允许子类继承

生成javaDoc时会包含注解信息

4.3使用自定义注解

使用语法

@<注解名>(<成员名1>=<成员值1>,[b]<成员名1>=<成员值1>.....)[/b]

4.4解析注解

通过反射或去类,函数或成员上的运行时注解信息,从而实现动态控制程序运行的逻辑

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息