`
zsnlovewl
  • 浏览: 175447 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java注解简单应用

    博客分类:
  • JAVA
阅读更多
package test;

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

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface UseCase {
	public int id();
	public String description() default "no description";
}
--------------------------------------------------------------------------------
package test;

import java.util.List;

public class PasswordUtils {
	@UseCase(id = 47, description = "passwords must contain at least one numeric")
	public boolean validatePassword(String password) {
		return (password.matches("\\w*\\d\\w*"));
	}

	@UseCase(id = 48)
	public String encryptPassword(String password) {
		return new StringBuilder(password).reverse().toString();
	}

	@UseCase(id = 49, description = "New passwords can't equal preciously used ones")
	public boolean checkForNewPassword(List<String> prevPasswords,
			String password) {
		return !prevPasswords.contains(password);
	}
}
--------------------------------------------------------------------------------------
package test;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class UseCaseTracker {
	public static void trackUseCases(List<Integer> userCases,Class<?> cl){
		for(Method m:cl.getDeclaredMethods()){
			UseCase uc=m.getAnnotation(UseCase.class);
			System.out.println(uc);
			if(uc!=null){
				System.out.println("Found Use CaseL"+uc.id()+" "+uc.description());
				userCases.remove(new Integer(uc.id()));
				
			}
			
		}
		for(int i:userCases){
			System.out.println("Warning:Missing user case-"+i);
		}
	}
	
	public static void main(String[] args){
		List<Integer> useCases=new ArrayList<Integer>();
		Collections.addAll(useCases,47,48,49,50);
		trackUseCases(useCases,PasswordUtils.class);
	}
}

 

分享到:
评论

相关推荐

    java注解webservice学习第一篇

    Java注解是Java编程语言中的一个重要特性,它允许在代码中添加元数据,为编译器、解释器或任何其他工具提供额外的信息。在Java Web服务(WebService)开发中,注解的应用极大地简化了服务的创建和配置。本文将深入...

    java简单方法顺序调用注解

    Java注解是编程时的一种元数据机制,它允许在代码中嵌入信息,这些信息可以在编译时或运行时被工具、框架或JVM读取和处理。在Java中,注解通过`@AnnotationName`的形式来声明,它们本身不直接影响程序的执行,但可以...

    Java 使用注解拼接SQL语句

    - 尽量保持注解的简单和清晰,避免在注解中包含过于复杂的逻辑。 - 使用预编译的SQL语句以防止SQL注入攻击。 - 注意注解的保留策略,如`RetentionPolicy.RUNTIME`可以让运行时访问注解信息,但会增加类文件大小。...

    Java注解简单使用实例解析

    Java注解还可以用于一些解耦的应用,框架去调用接口的多个实现类。实现类的类名和路径可能会变,只要注解不变。对框架来说是没变的,框架的逻辑可以不变。 Java注解是一种非常有用的元数据形式,用于提供补充信息...

    Java注解学习

    本文将深入探讨Java注解的概念、用途、定义及应用实例。 #### 注解的基本概念 注解本质上是一种特殊的语法,用于在代码中嵌入元数据。这些元数据可以是关于代码的任何信息,如作者、版本、测试状态等,也可以是更...

    计算机软件开发的Java编程语言应用探讨.pdf

    2. Java注解:注解是一种元数据形式,可以被编译器识别并处理,Java注解在测试、服务配置、事务管理等方面提供了便利。 3. Android开发:随着智能手机的普及,基于Java的Android开发成为了移动应用开发的主流,Java...

    清除Java代码注释

    编写一个简单的注释处理器,扫描并移除所有注释,然后使用Java Compiler API编译代码。这种方法需要一定的编程知识,但可以实现批处理大量文件的注释清除。 当然,对于非程序员或者希望快速操作的用户,也有一些第...

    java反编译去除注释一建去除超级简单

    标题"java反编译去除注释一建去除超级简单"指的是一个简单易用的方法,可以快速地将Java字节码反编译并移除其中的注释。通常,反编译是用于理解二进制代码的行为,或者在没有源代码的情况下进行调试和维护。注释虽然...

    java注释模板.zip

    Java编程语言以其强大的功能和广泛的应用领域而闻名,而在编写代码时,良好的注释习惯是提升代码可读性和团队协作效率的关键。Java注释模板就是为了帮助开发者快速、规范地添加注释而设计的。本文将深入探讨Java注释...

    java课程设计简单考试系统

    Java课程设计中的简单考试系统是一个基于Java编程语言开发的应用程序,旨在模拟实际的考试环境,为学生或教师提供一个互动的测试平台。这个系统利用Eclipse集成开发环境(IDE)进行构建,它是一个广泛使用的Java开发...

    基于注解形式的Java操作excel表格

    基于注解的Java操作Excel是一种高效且简洁的方式,它允许开发者通过在代码中添加特定的注解来定义和执行Excel相关的操作。这种方式极大地简化了代码,提高了可读性和可维护性。 首先,我们要理解注解(Annotation)...

    Java简单记事本(有注释)

    Java简单记事本是一个基于Swing库开发的文本编辑器应用,主要面向初学者和希望了解Java图形用户界面(GUI)编程的人群。这个项目展示了如何利用Java AWT(Abstract Window Toolkit)和Swing组件来创建一个功能基本的...

    Java编程语言的计算机软件开发应用.pdf

    综上所述,Java编程语言具有简单、稳健、面向对象、可移植以及多线程等多重特性,使其在计算机软件开发中获得了广泛的应用。随着未来技术的不断发展,Java编程语言在软件开发领域的应用前景将会更加广阔。

    java元注解简单实现.zip

    Java元注解是Java语言中的一种高级特性,它允许我们创建自定义注解,并赋予这些注解特定的行为或功能。元注解就是用于标注其他注解的注解,它们为自定义注解提供了额外的元数据,使得编译器、IDE(集成开发环境)...

    ajava注释说明

    在深入探讨Java注释的重要性与应用之前,我们先简要回顾一下给定文件的信息:标题为“ajava注释说明”,描述中强调了这是学习Java的必备文档,并鼓励大家积极学习Java。虽然部分文本似乎包含了乱码或非标准字符,但...

    Java EE企业级应用开发教程(Spring Spring MVC MyBatis)(黑马程序员编著)

    《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》是一本专注于Java企业级应用开发的专业教程,由黑马程序员编著。本书的核心在于深入浅出地介绍如何使用Java EE技术栈,特别是Spring、Spring MVC和...

    java中的注释规范

    它适用于快速添加简单解释或临时注解。在实际应用中,如果单行注释不能充分表达意图,建议使用多行块注释。单行注释应该在代码上方留一行空白,并保持与代码相同的缩进。 ```java // 这是一个单行注释,解释下面...

    我的第一个java程序 简单图书管理系统

    《我的第一个Java程序:简单图书管理系统》 在Java编程的世界里,开发一个简单的图书管理系统是一项基础但实用的任务,它能帮助我们理解面向对象编程的基本概念,数据库连接以及数据操作。这个项目采用Java语言编写...

    Java注解处理器简单实例

    Java注解处理器简单实例 Java注解处理器是Java编程语言中一个强大且灵活的工具,允许开发者创建和处理自定义的注解。Java注解处理器简单实例主要介绍了Java注解处理器的基本概念和使用方法,旨在帮助开发者快速掌握...

Global site tag (gtag.js) - Google Analytics