好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

spring系列笔记之常用注解

前言

spring的一个核心功能是ioc,就是将bean初始化加载到容器中,bean是如何加载到容器的,可以使用spring注解方式或者spring xml配置方式。

spring注解方式减少了配置文件内容,更加便于管理,并且使用注解可以大大提高了开发效率!

该篇文章主要做下注解的笔记,以免我经常忘记~

先给个demo

?

1

2

3

4

5

6

7

8

9

10

package com.nuofankj.springdemo.resource;

 

import java.lang.annotation.*;

 

@target (elementtype.type)

@retention (retentionpolicy.runtime)

@documented

public @interface resourceconfig {

 

}

先从@target说起,此处直接查看源码并加上注释

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

public enum elementtype {

  /** 类, 接口 (包括注释类型), 或 枚举 声明 */

  type,

 

  /** 字段声明(包括枚举常量) */

  field,

 

  /** 方法声明(method declaration) */

  method,

 

  /** 正式的参数声明 */

  parameter,

 

  /** 构造函数声明 */

  constructor,

 

  /** 局部变量声明 */

  local_variable,

 

  /** 注释类型声明 */

  annotation_type,

 

  /** 包声明 */

  package ,

 

  /**

   * 类型参数声明

   */

  type_parameter,

 

  /**

   * 使用的类型

   */

  type_use

}

很明显@target 这个枚举提供了一个简单的分类,即可能出现在java程序中的位置。

接下来查看@retention,同样查看源码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

public enum retentionpolicy {

 

  /**

   * 注释只在源代码级别保留,编译时被忽略

   */

  source,

 

  /**

   * 注释将被编译器在类文件中记录但在运行时不需要jvm保留。这是默认的行为

   */

  class ,

 

  /**

   *注释将被编译器记录在类文件中,运行时保留vm,因此可以反读。

   */

  runtime

}

意思便是:retentionpolicy这个枚举类型的常量描述了保留注释的各种策略,即指定注释要保留多长时间。

最后一个是@documented,这个表明这个注解javadoc是记录的。即如果一个类型声明被注释了文档化,它的注释成为公共api的一部分。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

原文链接:http://myblog.lixifan.cn/article?id=bN2bmhUJgiA67PchlDc7

查看更多关于spring系列笔记之常用注解的详细内容...

  阅读:14次