1.定义
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) //作用时间,是运行时,其他有编译时等 @Target(ElementType.METHOD) //作用的对象,这里是方法,也可以是类和属性,参数 public @interface SampleAnnotation { //注解名称是SampleAnnotation,需要用@interface定义注解 //方法 String value(); }
2. 使用
public class SampleAnnatationUser { //这些值会被注解的value方法得到 @SampleAnnotation("oh my god ,i put a value in it") public void use() { System.out.println("success,i use"); } public void notUse() { System.out.println("fail,i am not use"); } }
3.实现,无反射不注解
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class SampleMain { public static void main(String[] args) { SampleAnnatationUser sampleAnnatationUser = new SampleAnnatationUser(); for (Method method : sampleAnnatationUser.getClass().getMethods()) { if (method.isAnnotationPresent(SampleAnnotation.class)) { try { SampleAnnotation annotation = method.getAnnotation(SampleAnnotation.class); System.out.println(annotation.value()); method.invoke(sampleAnnatationUser, null); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } } } }
4.结果
oh my god ,i put a value in it success,i use
相关推荐
- **方法注释**:位于方法定义之前。 例如: ```java /** * 一个类注释 */ public class DocTest { /** * 一个变量注释 */ public int i; /** * 一个方法注释 */ public void f() { // 方法体 } } ``...
* @int (*)() cmp 提供接口,让用户定义具体比较函数 * Return: int 返回元素的 index 值 * Limitation: 如果返回 -1,则代表不存在var 的元素 // 在函数的注释中,我们需要对函数的每个参数和返回值进行解释,同时...
Struts2.0、Spring2.5和Hibernate3.2是经典的Java企业级开发框架,它们在2000年代末至2010年初广泛应用于构建大型Web应用程序。这三大框架的集成提供了完整的MVC(Model-View-Controller)架构,支持服务层和持久层...
根据提供的标题“Essential C++(注释版)”和描述“Essential C++(注释版) 英文附中文注释”,我们可以推断出这是一个关于C++编程语言的学习资源,其中包含了对C++核心概念和技术的介绍,并且为了帮助中文读者更好地...
【XML Schema初窥】 XML Schema 是一种XML文档结构定义语言,由W3C于1998年开始制定,2001年5月2日发布1.0版,2004年10月28日发布了修正版2.0。相比DTD(Document Type Definition),XML Schema提供了更加强大和...
1. **初始化**: 首先,随机生成一个粒子群,每个粒子代表可能的解,并随机赋予初速度。 2. **速度与位置更新**: 在每一代迭代中,粒子根据以下公式更新速度和位置: - 速度更新公式:`v_{ij}[t+1] = w * v_{ij}[t] ...
同时也在代码中详细注释了自己学习时的一些适时的初浅认识。例如:用方法组织代码的一些菜菜菜菜菜菜鸟级的感觉----- 1、按照自己的思路,定义各个功能方法;2、进行控件的布局,并生成控件方法;3、在控件方法中...
这些文件可以定义环境变量,如数据库连接信息、服务器端口等。 6. **Spring Data JPA** 如果使用`spring-boot-starter-data-jpa`,Spring Boot将自动配置JPA和一个默认的数据源。可以轻松地与各种数据库(如MySQL...
此符号通常用于注释或标识符。 - C. @. 此符号在PHP中用于错误抑制操作符。 - D. *. 此符号在PHP中没有特定的用途。 - **正确答案**:A。 **5. A。php语言中数组的定义使用()符号** - **选项分析**: - A. []...
这些注释可能涵盖了变量定义、程序段解释、故障处理策略等内容,使学习过程更为直观和高效。 "source"可能指的是源代码文件,这通常是PLC编程的核心部分,包含了实现各种功能的指令序列。通过查看和分析源代码,...
在JUnit4中,我们可以使用`@Before`和`@After`注解来定义在每个测试方法执行前后的准备工作和清理工作。这对于初始化环境变量、创建对象或者清理资源等操作非常有用。另外,`@BeforeClass`和`@AfterClass`则用于在...
在"坚持初心记事本"中,我们能看到易语言的常用语句和结构,如流程控制、变量定义、函数调用等。通过分析源码,可以深入理解易语言的基本语法和编程逻辑。 2. **用户界面设计**: 记事本的界面通常由菜单栏、工具...
2. **定义实体bean**: 使用EJB 3.0的注解,如@Entity,定义bean的类及其属性,并指定主键。 3. **配置持久化**: 配置persistence.xml文件,指定数据源和实体bean的信息。 4. **创建会话bean**: 使用@Stateless或@...
**JAXB与JPA初应用** Java Architecture for XML Binding (JAXB) 和 Java Persistence API (JPA) 是Java开发中的两个重要技术,主要用于处理XML数据和实现对象关系映射(ORM)。在本篇中,我们将深入探讨这两个技术...
【jersey+spring+mybatis框架初使用】 在IT行业中,开发Web应用程序时,我们经常使用各种框架来简化工作流程并提高效率。本教程将引导初学者了解如何整合jersey、spring和mybatis这三个强大的开源框架,以实现基本...
遵循一定的命名规则,编写清晰的注释,以及使用调试工具来查找和修复错误,都是成为一名优秀C程序员的必要技能。 "C语言学习初中级资料合集"应该包含了以上所有内容的相关教程、实例和练习题,通过系统学习和实践,...
《Nutz初体验:探索Java开发的利器》 在IT行业中,工具的选择往往对开发效率有着重大影响。今天,我们要探讨的是一个名为Nutz的Java框架,它以其轻量级、高效能和全面的特性,成为了众多开发者眼中的宝藏工具。通过...
3. **实体类设计**:讲解如何创建一个Java类作为数据库表的映射,包括使用`@Entity`注解标记实体类,`@Id`注解定义主键,以及其他字段的注解如`@Column`。 4. **XML映射文件**:解释Hibernate的Hibernate ...
- **Entity映射**:Spring Data JPA基于JPA(Java Persistence API),所以你需要使用@Entity注解来标记你的领域模型类,@Table指定表名,@Id标识主键字段,以及其他JPA注解(如@Column,@ManyToOne等)来定制字段的...