1.自定义注解

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 HelloWorld {//定义成员public String name() default "hello";
}

2.编写解析方法

import java.lang.reflect.Method;public class AnnotationParser {public void parse(Object obj,String methodName){Method[]  ms=obj.getClass().getMethods();for(Method m:ms){if(m.getName().equals(methodName)){if(m.isAnnotationPresent(HelloWorld.class)){HelloWorld hWorld=m.getAnnotation(HelloWorld.class);//System.out.println(hWorld.name());try{System.out.println("before...");m.invoke(obj, null);System.out.println("after...");}catch (Exception e) {e.printStackTrace();}}}}}
}

3.Junit测试

被测试的bean:

public class TestBean {private String name;public TestBean(String name) {this.name = name;}@HelloWorld(name="change")public String getName() {System.out.println("getName executed...");return name;}public void setName(String name) {this.name = name;}public String toString(){return this.name;}}
package junit.test;
import org.junit.BeforeClass;
import org.junit.Test;
import com.persia.annotation.AnnotationParser;
import com.persia.annotation.TestBean;public class AnnotationTest {@BeforeClasspublic static void setUpBeforeClass() throws Exception {}@Testpublic void hello(){TestBean tBean=new TestBean("testbean");//System.out.println(tBean);AnnotationParser aParser=new AnnotationParser();aParser.parse(tBean, "getName");}
}

转载于:https://www.cnblogs.com/cxccbv/archive/2009/07/26/1531298.html

JPA相关--Annotation相关推荐

  1. java jpa 注解_Java : JPA相关以及常用注解

    SpringDataJPA自定义的查询方法 定义规范 And 并且 Or 或 Is,Equals 等于 Between 两者之间 LessThan 小于 LessThanEqual 小于等于 Grea ...

  2. SpringBoot 中 JPA 的使用

    前言 第一次使用 Spring JPA 的时候,感觉这东西简直就是神器,几乎不需要写什么关于数据库访问的代码一个基本的 CURD 的功能就出来了.下面我们就用一个例子来讲述以下 JPA 使用的基本操作 ...

  3. SpringBoot 实战 (八) | 使用 Spring Data JPA 访问 Mysql 数据库

    微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 如题,今天介绍 Spring Data JPA 的使用. 什么是 Spring Data JPA 在介绍 Spri ...

  4. JPA(二):HellWord工程

    使用JPA持久化对象的操作步骤: 1)创建persistence.xml,在这个文件中配置持久化单元: --- 需要指定跟哪个数据库进行交互: --- 需要指定JPA使用哪个持久化的框架以及配置该框架 ...

  5. Spring Boot入门——JPA

    JPA最大的特点就是可以根据@Entity自动创建你数据库表,用户只需要声明持久层的接口,不需要实现该接口 1.JPA概念 JPA全称Java Persistence API,JPA通过JDK5.0注 ...

  6. SprintBoot中JPA的使用

    前言 第一次使用Sprint JPA的时候,感觉这东西简直就是神器,几乎不需要写什么关于数据库访问的代码一个基本的CURD的功能就出来了.下面我们就用一个例子来讲述一下JPA使用的基本操作. 新建项目 ...

  7. JPA规范的主要内容

    來源:http://www.cnblogs.com/RicCC/archive/2009/01/06/jpa-java-persistence-api.html Entity Identity 实体标 ...

  8. Spring Boot的Spring Data JPA示例

    1.简介 在本文中,我们将演示如何利用功能强大的Spring Data JPA API与本课程中的数据库(内存中的H2数据库)进行交互. Spring Data JPA提供了一组非常强大且高度抽象的接 ...

  9. 类型 jpa mysql_Spring Boot集成JPA

    前言 第一次使用 Spring JPA 的时候,感觉这东西简直就是神器,几乎不需要写什么关于数据库访问的代码一个基本的 CURD 的功能就出来了.下面我们就用一个例子来讲述以下 JPA 使用的基本操作 ...

最新文章

  1. linux 自学系列: 常用文件结构
  2. 《数据分析变革:大数据时代精准决策之道》一第一部分 变革已然开始
  3. SQLServer书写规范梳理
  4. 揭秘软件开发的达摩克利斯之剑
  5. vue是否可以做行车轨迹_在vue中高德地图引入和轨迹的绘制的实现
  6. python最强脚本工具_8种常用的Python工具
  7. win10计算机无法远程连接,win10无法远程连接
  8. UPS输出连接要求IEC C320 C13,输入连接要求(6)IEC 320 C14
  9. C# TimeSpan 计算时间差(时间间隔)
  10. oracle decode和case when,竟然where 后可以跟着decode 那也就是 where后可以跟着case when ????...
  11. Java并发之Condition接口
  12. jquery 时间选择插件-jedate
  13. 使用端口扫描工具消除端口安全威胁
  14. 联通宽带光猫获取超级密码教程!!
  15. WIFi6与WIFI5技术路线演进及优势
  16. 弘辽科技:限制店铺流量上涨的七大原因
  17. dedecms教程:单页制作教程
  18. 【Unity编程】四元数(Quaternion)与欧拉角
  19. 简单的学生网页作业源码 基于html css javascript仿淘宝购物商城设计毕业论文源码
  20. office右键没有新建word,Visio等解决办法

热门文章

  1. 喜欢把代码写一行的人_我最喜欢的代码行
  2. mysqlls_mysql基本命令
  3. (C++) CSP 201803-1 跳一跳
  4. math.hypot java_Java之Math类
  5. Java常用多线程辅助工具---countdownLatch
  6. IOS -- base64编码
  7. Android重绘ListView高度
  8. HDU 1816, POJ 2723 Get Luffy Out(2-sat)
  9. java学习笔记11--Annotation
  10. 基于animation.css实现动画旋转特效