java自定义注解学习(一)_demo小练习

简介:

自定义注解

现在大家开发过程中,经常会用到注解。
比如@Controller 等等,但是有时候也会碰到自定义注解,在开发中公司的记录日志就用到了自定义注解。身为渣渣猿还是有必要学习下自定义注解的。

这篇我们先写一个简单的注解列子,不会立马介绍各种什么元注解。从例子中感受下注解的作用

定义个注解

package com.kevin.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
public @interface Kevin {
    String name() default "kevin";
}

解析并测试这个注解

package com.kevin;

import com.kevin.annotation.Kevin;

@Kevin
public class Test {

  public static void showKevin(Class c) {
      System.out.println(c.getName());
      boolean isExist = c.isAnnotationPresent(Kevin.class);

      if (isExist) {
          Kevin kevin = (Kevin) c.getAnnotation(Kevin.class);
          System.out.println(kevin.name());
      }
  }

  public static void main(String[] args) {
      Test.showKevin(Test.class);
  }
}

运行结果


com.kevin.Test
kevin

Process finished with exit code 0

总结

上面几句代码,我们已经实现了一个简单的自定义注解,是不是很简单。
大家不要吧注解想想的太复杂,其实任何东西大规模的应用肯定是易用易懂的。

本篇先介绍到这。大家可以先体验下玩玩,我也是刚刚学习。欢迎交流。下篇文章。我们一起学习下注解的基本语法。

相关文章
|
2天前
|
数据采集 Java
selenium+java入门demo
selenium+java入门demo
18 4
|
3天前
|
Java 编译器 测试技术
Java基础16-Java注解简介和最佳实践(二)
Java基础16-Java注解简介和最佳实践(二)
15 4
|
2天前
|
Java API 数据库
Java一分钟之-JPA注解:@Entity, @Table, @Id等
【6月更文挑战第14天】Java Persistence API (JPA) 是Java开发中的ORM框架,通过注解简化数据访问层。本文介绍了三个核心注解:`@Entity`标识实体类,`@Table`自定义表名,`@Id`定义主键。易错点包括忘记添加`@Entity`、未正确设置主键。建议使用`@GeneratedValue`和`@Column`细化主键策略和字段映射。正确理解和应用这些注解能提高开发效率和代码质量。
14 3
|
2天前
|
Java 数据库连接 Spring
Java注解
Java注解
8 0
|
2天前
|
Java
JAVA高级部分学习小结(2023.11.4)
JAVA高级部分学习小结(2023.11.4)
|
3天前
|
安全 Java 开发者
Java基础16-Java注解简介和最佳实践(一)
Java基础16-Java注解简介和最佳实践(一)
16 5
|
4天前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(七十一)-java+ selenium自动化测试-自定义类解决元素同步问题(详解教程)
【6月更文挑战第12天】本文介绍了如何创建一个自定义类库来解决自动化测试中的元素同步问题。作者指出,大部分错误源于元素因时间不同步而引发,为此提供了一种解决方案。在项目实践中,首先在`library`包下创建名为`MyWait`的类,包含一个方法`isElementPresent`,该方法通过循环尝试并等待指定元素出现,避免了直接使用时间等待可能导致的不准确性。之后,在测试类中调用此自定义方法,成功实现了元素同步。代码示例展示了如何在Java+Selenium自动化测试中应用这个自定义类。
27 2
|
8天前
|
算法 Java 测试技术
滚雪球学Java(54):从零开始学习Java中的Math类,轻松解决数学难题
【6月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
15 0
滚雪球学Java(54):从零开始学习Java中的Math类,轻松解决数学难题
|
8天前
|
Java
Java线程学习经典例子-读写者演示
Java线程学习经典例子-读写者演示
8 0
|
8天前
|
Java
JAVA Swing自定义JScorllPanel
JAVA Swing自定义JScorllPanel
9 1