码迷,mamicode.com
首页 > 编程语言 > 详细

Spring自定义标签

时间:2018-05-27 10:48:38      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:18C   ret   none   ring   str   lan   value   not   pen   

一、定义注解

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();

Spring自定义标签

标签:18C   ret   none   ring   str   lan   value   not   pen   

原文地址:https://www.cnblogs.com/xiatianyu/p/9094971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!