怎么自己写一个像spring中的高大上的注解--思路
2017-10-30 11:16
387 查看
第一步:
需要自己建一个注解类
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MyAnnotation {
String TYPE() default MyAnnotation.FAnno;
public static final String FAnno = "F";
public static final String SAnno = "A";
public static final String TAnno = "T";
}
第二步:
写一个测试类,加自己的注解
第三步:
写一个解析注解的类
第四步:
将带注解的类和解析注解的类关联起来
这只是一个思路,代码写的有点垃圾,哪位大神有更好的办法,希望不吝赐教。
需要自己建一个注解类
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MyAnnotation {
String TYPE() default MyAnnotation.FAnno;
public static final String FAnno = "F";
public static final String SAnno = "A";
public static final String TAnno = "T";
}
第二步:
写一个测试类,加自己的注解
public class TestClass { @MyAnnotation(TYPE = MyAnnotation.TAnno) public void eat(){ System.out.println("我在吃饭"); } @MyAnnotation public void watch(){ System.out.println("我在看电视"); } }
第三步:
写一个解析注解的类
public class ExplainMyAnnotation { public void explain(Method method){ Annotation[] annotations = method.getAnnotations(); for (Annotation anno : annotations){ if (anno instanceof MyAnnotation){ //do sth MyAnnotation myAnnotation = (MyAnnotation) anno; System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"+myAnnotation.TYPE()); System.out.println("................................"+myAnnotation.toString()); } } } }
第四步:
将带注解的类和解析注解的类关联起来
public class TestAnnotation { public static void main(String[] args){ ExplainMyAnnotation e = new ExplainMyAnnotation(); TestClass t = new TestClass(); Method[] m = t.getClass().getMethods(); for(int i=0; i<m.length; i++){ System.out.println("第"+i+"次"); e.explain(m[i]); } } }
这只是一个思路,代码写的有点垃圾,哪位大神有更好的办法,希望不吝赐教。
相关文章推荐
- 使用java注解 加Spring AOP 处理接口异常逻辑的一个思路
- 自己动手写一个Spring (Spring 到底是怎么跑起来的)
- 主题:自己动手写一个Spring (Spring 到底是怎么跑起来的)
- ZZ自己动手写一个Spring (Spring 到底是怎么跑起来的)
- 自己动手写一个Spring (Spring 到底是怎么跑起来的)
- linux下service+命令和直接去执行命令的区别,怎么自己建立一个service启动
- 发现一个问题,十分蛋疼。 我们项目是由N个工程组成的,外围工程是web工程,内部的工程打包成jar,放入外围工程的WEB-INF/lib 内部的工程用到了spring的注解,例如@Service、
- 怎么自己创建一个类似于smart的模版引擎
- 来自于一个问题的回答对自己的反思 php怎么发送邮件?发送邮件插件PHPMailer
- SSH三大框架整合的流程是怎样走的,spring在三大框架中式怎么的一个流程,hibernate是怎么的一个流程,struts2是怎么的一个流程的,
- 模拟spring的注解,制作自己的小容器
- spring集成ehcache(注解使用,非hibernate集成,顺便谈谈自己的看法)
- Spring整合JUnit4测试,使用注解引入一个或多个配置文件
- 设计题:猫叫,老鼠逃跑,主人惊醒。在网上面看到很多不同的设计版本,自己也写一个,供讨论是否设计思路正确
- spring ioc原理(看完后大家可以自己写一个spring)
- 一个对自己负责的软件开发人员该怎么做(How to do for one qualified developer)
- spring ioc原理(看完后大家可以自己写一个spring)
- spring ioc原理(看完后大家可以自己写一个spring)
- springmvc+mybatis+maven项目集成的时候遇到一个问题,项目搭起来以后,http请求怎么都进不到controller中,页面直接返回404错误,控制台没有报任何错误,请大神帮我看看
- spring ioc原理(看完后大家可以自己写一个spring)