前言
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