注解实现实例

Posted liuys635

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了注解实现实例相关的知识,希望对你有一定的参考价值。

 

实现注解需要三个条件:注解声明、使用注解的元素、操作注解使其起作用(注解处理器)。
 
定一个MyTag注解类:

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

@Target({ElementType.METHOD,ElementType.FIELD})
@Inherited
@Retention(RetentionPolicy.RUNTIME)
public @interface MyTag {

String name() default "车";
int size() default 10;
}

定义一个实体Car类:

public class Car {

private String name;
private int size;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}

public Car(){

}
public Car(String name, int size){
this.size = size;
this.name = name;
}
@Override
public String toString() {
return "Car [name=" + name + ", size=" + size + "]";
}

}

定义一个使用注解的类AnnotationDemo类:
public class AnnotationDemo{

@MyTag(name = "audi", size = 10)
private Car car;

public Car getCar() {
return car;
}

public void setCar(Car car) {
this.car = car;
}

@Override
public String toString() {
return "Annotation [car=" + car + "]";
}
}

定义一个操作注解即让注解起作用的类AnnotationProccessor类:
import java.lang.reflect.Field;

public class AnnotationProccessor {

public static void annoProcess(AnnotationDemo annotation){

for(Field field : annotation.getClass().getDeclaredFields()){
if(field.isAnnotationPresent(MyTag.class)){ //如果存在MyTag标签
MyTag myTag = field.getAnnotation(MyTag.class);
annotation.setCar(new Car(myTag.name(),myTag.size()));
}
}
}
public static void main(String[] args) {
AnnotationDemo ann = new AnnotationDemo();
annoProcess(ann);
System.out.println(ann.getCar());

}
}

 

 



































































以上是关于注解实现实例的主要内容,如果未能解决你的问题,请参考以下文章

@Service注解是标注在实现类上的的接口中添加注解还是在实现类impl

Mybatis基于注解的入门实例

一起写框架-Ioc内核容器的实现-对象的调用-@Bean注解注入容器的对象

一起写框架-Ioc内核容器的实现-基础功能-组件注解支持自定义的对象名

通过条件注解@Conditional细粒度的选择bean实例

java中注解的使用与实例