package com.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String myvalue() default "Hi";
}
package com.annotation;
@MyAnnotation()
public class MyClass {
@MyCopyright(author = "xxx", title = "ssxxssx", version = "1.0")
public String init() {
return "hello";
}
}
package com.annotation;
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 MyCopyright {
String title();
String version();
String author();
}
package com.annotation;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) {
try {
Class clazz = Class.forName("com.annotation.MyClass");
Method[] methods = clazz.getMethods();
boolean right = clazz.isAnnotationPresent(MyAnnotation.class);
if (right) {
MyAnnotation annotation = (MyAnnotation) clazz
.getAnnotation(MyAnnotation.class);
System.out.println(annotation.myvalue());
}
for (Method method : methods) {
if (method.isAnnotationPresent(MyCopyright.class)) {
MyCopyright mc = method.getAnnotation(MyCopyright.class);
System.out.println(mc.author() + "\n" + mc.title() + "\n"
+ mc.version());
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
以下是关于 Java Annotation 的详细介绍: 一、为什么使用 Annotation 1. **减少模板代码**:在开发过程中,有时我们需要重复编写相同的模板代码,例如创建 JAX-RPC Web 服务时。通过 Annotation,我们可以让工具...
Annotation是Java语言中的一种元数据,它提供了在代码中附加信息的能力,这些信息可以在编译时或运行时被解析和使用。Annotation的本质是一种特殊类型的注解,它允许开发者向编译器、JVM或者工具提供关于代码的额外...
#### 五、使用反射读取RUNTIME的Annotation信息 通过Java的反射机制,可以在运行时访问和处理注解信息,这对于框架和工具的开发尤其有用。 ```java Field field = clazz.getDeclaredField("fieldName"); ...
### 用Annotation简化Java程序的开发 #### 一、引言 随着软件开发技术的不断发展,特别是Java语言的广泛应用,开发者面临着如何有效地管理和配置代码的问题。传统的做法是使用XML文件来配置程序的各种设置,但这种...
这篇文档主要讨论的是Hibernate Annotation的使用方法,以及它如何替代传统的XML配置文件(*.hbm.xml)进行对象-关系映射。 **1. Hibernate Annotation简介** Hibernate Annotation是Hibernate框架的一个扩展,它...
开发者可以利用`@Deprecated`来通知其他开发者特定的代码元素已被弃用,并建议避免使用。 - **示例** 假设我们有一个名为`Something`的类,其中包含了一个不建议再使用的方法`getSomething()`: ```java ...
- `README.md`文件:介绍项目的基本信息、安装和使用方法。 - `LICENSE`文件:声明项目的开源许可协议。 在实际开发中,要使用"get-annotation",首先需要通过npm安装(假设已安装Node.js环境): ```bash npm ...
《Hibernate Annotation 中文文档》是Java开发者们的重要参考资料,它详细介绍了如何在Hibernate框架中使用注解进行对象关系映射(ORM)。Hibernate是一款强大的开源Java持久化框架,它简化了数据库与Java对象之间的...
通过了解和熟练使用"point-cloud-annotation-tool",你将能够有效地对点云数据进行标注,为后续的分析和建模提供高质量的数据基础。随着点云技术的发展,掌握这类工具的使用将对你的IT事业大有裨益。
本文将详细介绍 Spring MVC Annotation验证的方法,包括使用 Spring MVC 自带的 Annotation 验证和自定义 Annotation 验证。 一、Spring MVCAnnotation 验证简介 Spring MVC 框架提供了多种Annotation来实现验证,...
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。 1、共同点 两者都可以写在字段和setter方法上。两者...
当其他代码尝试使用被弃用的元素时,编译器会发出警告。在示例中,创建了一个`DeprecatedClass`和`DeprecatedMethod`,并使用`@Deprecated`注解标记。在编译时,如果不使用`-Xlint:deprecation`选项,编译器会默认...
下面将详细介绍Hibernate-Annotation所涉及到的知识点。 1. **Hibernate框架**: Hibernate是Java领域中最流行的ORM框架之一,它提供了一种在Java应用程序中管理和访问关系数据库的方法。通过ORM,Java对象可以直接...
Java Annotation(注解)是自JDK 5.0开始引入的一种元数据,它提供了一种安全、非侵入式的方式来向编译器、虚拟机或者其他的工具提供关于代码的信息。这种信息可以用来进行编译时检查、运行时处理、代码生成等。注解...
本文带来的案例是:打印Log,主要介绍@Pointcut切点表达式的@annotation方式,以及 五种通知Advice注解:@Before、@After、@AfterRunning、@AfterThrowing、@Around。 本资源是@Pointcut使用@annotation的方式,结合...
7. **测试与调试**:SSH2-Annotation项目可能还包含了单元测试和集成测试的相关代码,例如使用JUnit或Mockito进行测试,以确保代码的质量和功能的正确性。 8. **最佳实践**:此项目展示了如何在现代Java Web开发中...
通过上述介绍,我们了解了如何在Struts2、Spring和Hibernate中利用注解来替代传统的XML配置文件,从而实现无配置架构。这种方式对于提高开发效率、减少错误和增强可读性等方面都有着显著的好处。在未来的技术发展中...
本文将通过一个实际操作的实例,逐步介绍Hibernate Annotation的基础知识。 一、开始实践 1. 项目准备:首先,我们需要准备JDK 5.0或更高版本,以及Hibernate 3.2.2.ga、hibernate-annotations-3.2.1.GA和ejb3-...