当前位置: 首页 > 编程笔记 >

spring系列笔记之常用注解

上官英哲
2023-03-14
本文向大家介绍spring系列笔记之常用注解,包括了spring系列笔记之常用注解的使用技巧和注意事项,需要的朋友参考一下

前言

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

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

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

先给个demo

package com.nuofankj.springdemo.resource;

import java.lang.annotation.*;

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ResourceConfig {

}

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

public enum ElementType {
 /** 类, 接口 (包括注释类型), 或 枚举 声明 */
 TYPE,

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

 /** 方法声明(Method declaration) */
 METHOD,

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

 /** 构造函数声明 */
 CONSTRUCTOR,

 /** 局部变量声明 */
 LOCAL_VARIABLE,

 /** 注释类型声明 */
 ANNOTATION_TYPE,

 /** 包声明 */
 PACKAGE,

 /**
  * 类型参数声明
  */
 TYPE_PARAMETER,

 /**
  * 使用的类型
  */
 TYPE_USE
}

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

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

public enum RetentionPolicy {

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

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

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

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

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

总结

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

 类似资料:
  • 本文向大家介绍angular4笔记系列之内置指令小结,包括了angular4笔记系列之内置指令小结的使用技巧和注意事项,需要的朋友参考一下 内置指令 内置属性型指令 属性型指令会监听和修改其它HTML元素或组件的行为、元素属性(Attribute)、DOM属性(Property)。 NgClass 形式:[ngClass]="statement" 通过绑定到NgClass,可以同时添加或移除多个类

  • 本文向大家介绍linux系列之常用运维命令整理笔录(小结),包括了linux系列之常用运维命令整理笔录(小结)的使用技巧和注意事项,需要的朋友参考一下 本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 一、系

  • 这段时间折腾了一个小小的练手项目,前端采用 + 组织和构建代码,服务端用的 + 。目的在踩踩坑,熟悉一下Vue+Webpack的开发模式,尝试理解一些服务端的概念和思想。前几天去D2听了分享,忽的觉得目前自己更应该纠结一下前端基础与原理的东西。在工具上太耗费时间不是目前该有的状态。就以此暂做一个小结与回顾,接下来方向暂转到前端基础、原理与设计模式学习。 项目本身很简单,代码量也不多。只是实现了最简

  • 本文向大家介绍AngularJS学习笔记之依赖注入详解,包括了AngularJS学习笔记之依赖注入详解的使用技巧和注意事项,需要的朋友参考一下      最近在看AngularJS权威指南,由于各种各样的原因(主要是因为我没有money,好讨厌的有木有......),于是我选择了网上下载电子版的(因为它不要钱,哈哈...),字体也蛮清晰的,总体效果还不错。但是,当我看到左上角的总页码的时候,479

  • 本文向大家介绍Symfony2学习笔记之系统路由详解,包括了Symfony2学习笔记之系统路由详解的使用技巧和注意事项,需要的朋友参考一下 本文详细讲述了Symfony2的系统路由。分享给大家供大家参考,具体如下: 漂亮的URL绝对是一个严肃的web应用程序必须做到的,这种方式使index.php?article_id=57这类的丑陋URL被隐藏,由更受欢迎的像 /read/intro-to-sy

  • 本文向大家介绍Android面试笔记之常问的Context,包括了Android面试笔记之常问的Context的使用技巧和注意事项,需要的朋友参考一下 前言 Context,在翻译为上下文,也可以理解为环境,是提供一些程序的运行环境基础信息。基本上在开发项目的时候,时刻都有接触到。Android程序不像Java程序,随便创建一个类,写个main()方法就能跑,而是要有一个完整的Android工程环