首页 > 编程语言 >认识注解带来的好处,如何通过注解简化程序

认识注解带来的好处,如何通过注解简化程序

时间:2022-10-18 00:22:05浏览次数:46  
标签:String value 好处 简化 注解 Property public name

什么是注解

很多人刚学习注解,包括我都不理解注解的作用在哪里,Spring 中大量使用注解,Servlet 也使用注解,总之很多地方都使用注解,但凡用到注解的地方都能很明显地感觉到可以少写很多配置文件和代码。注解本身就是注释,只不过注解是给程序看的,注释不被程序编译,而是给人看的,注解也是如此,程序编译注解中的信息,也可以拿到注解中注入的数据。

体验注解的作用

写一个简单的注解,注解的写法和接口相似,这里就不讨论注解的本质、注解的元注解等基础知识。只需要明白元注解就是让注解在“什么时候用”和“哪里用”的问题。

1️⃣ 写一个注解:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Property {
  String name();
  String value();
}

这个注解有两个抽象函数,name 是让注解给字段添加 key,value 是让注解给字段添加值。

2️⃣ 写一个普通的类,使用注解:

public class User {
  @Property(name = "username", value = "Hello World!")
  private String username;
  @Property(name = "password", value = "123123")
  private String password;
}

3️⃣ 获取类中属性上的注解:

public static void main(String[] args) {
  Class<User> user = User.class;
  for (Field field : user.getDeclaredFields()) {
    Property annotation = field.getAnnotation(Property.class);
    System.out.println(annotation.name() + "=>" + annotation.value());
  }
}

获取注解需要使用反射,通过反射,我们可以获取这个类中的注解、字段、函数等。第一,我们要获取类中的所有字段(属性),循环遍历出每一个字段;第二,通过字段获取注解;第三,调用注解中提供的抽象函数。

image

标签:String,value,好处,简化,注解,Property,public,name
From: https://www.cnblogs.com/Enziandom/p/16801183.html

相关文章

  • SpringMVC的常用注解
    springmvc常用注解1.@controller注解是否是控制器类2.@requestMapping请求路径的注解​在类和方法上都可以用​可以设置请求路径也可以设置请求方法@Request......
  • SpringMVC常用注解
    springmvc常用注解1.@controller注解是否是控制器类2.@requestMapping请求路径的注解在类和方法上都可以用可以设置请求路径也可以设置请求方法@RequestMapping("/Use......
  • Java注解Annotation
    介绍用过Spring或者Struts的童鞋,肯定都知道Java里有Annotation这个东西,可以写在类、方法以及属性上。本文将介绍有关自定义Annotation的内容。例子[codesyntaxlang="java"......
  • Java注解与反射个人学习笔记
    注解和反射注解什么是注解内置注解packagecom.siu.annotation;importjava.util.ArrayList;importjava.util.List;//什么是注解publicclassTest01extend......
  • 【SpingBoot学习笔记】SpingBoot之读取resource/config目录下自定义properties文件(注
    之前已经写了一篇读写properties文件的文章,见《Java读取properties配置文件写法》,但如果是springboot项目,配置统一在resource/config目录下,使用注解如何读取呢,写法如下打......
  • JPA注解类介绍
    介绍本文介绍了JPA持久化框架中的一些注解类,以方便各位查询。 未完待续。。。......
  • Hibernate自定义注解类
    •介绍Hibernate对PO类上支持的注解类是有限的,而且我用的这个版本的Hibernate还不支持在生成数据库表(通过hibernate.hbm2ddl.auto)时生成字段注释(comment)。本文通过扩展Ann......
  • 【ES6】模板字符串、简化对象写法、箭头函数
    ......
  • 获取springboot中指定目录下 带有指定注解的类
    privateList<String>getTableNameList(){List<String>list=newArrayList<>();PathMatchingResourcePatternResolverresolver=newPathMatchi......
  • 一篇文章带你掌握MyBatis简化框架——MyBatisPlus
    一篇文章带你掌握MyBatis简化框架——MyBatisPlus我们在前面的文章中已经学习了目前开发所需的主流框架类似于我们所学习的SpringBoot框架用于简化Spring开发,我们的国人......