Spring自定义标签

一、定义注解

1. 用@Interface定义一个注解,比如名字叫做:RpcService,里面的方法只写声明

说明:

在定义这个注解前面需要加上这些注解:

@Target({ElementType.TYPE})//注解用在的位置
@Retention(RetentionPolicy.RUNTIME)//注解的生命周期
@Component

整体代码如下:

 1 import org.springframework.stereotype.Component;
 2 
 3 import java.lang.annotation.ElementType;
 4 import java.lang.annotation.Retention;
 5 import java.lang.annotation.RetentionPolicy;
 6 import java.lang.annotation.Target;
 7 
 8 @Target({ElementType.TYPE})//注解用在的位置
 9 @Retention(RetentionPolicy.RUNTIME)//注解的生命周期
10 @Component
11 public @interface RpcService {
12     String value();
13 }
View Code

 

二、使用注解

1. 使用注解的类必须实现这个接口ApplicationContextAware

2. 这个接口强制实现的方法是:setApplicationContext(ApplicationContext ctx)

3. 获取这个注解的所有类

Map<String,Object> serviceBeanMap = ctx.getBeansWithAnnotation(RpcService.class);

4. 拿到对象

serviceBeanMap.values()

5. 拿到注解上的参数

String value = serviceBean.getClass().getAnnotation(RpcService.class).value();
posted @ 2018-05-27 01:41  shuxte  阅读(397)  评论(0编辑  收藏  举报