当前位置: 首页 > 工具软件 > Feng > 使用案例 >

基于fengin的远程服务的底层具体实现 模拟一下

江衡
2023-12-01

技术说明:我们用反射注解具体的到吗实现如下.

package com.jtdemo;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;

//自定义注解
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface GetMapping{//GetMapping.java-->GetMapping.class
    String value() default "";
}
//接口定义
interface RemoteService{
    @GetMapping("/service/hello")
    String call(String msg);
}
public class AnnotationTests {
    public static void main(String[] args) throws NoSuchMethodException {
        //1.反射的入口
        Class<RemoteService> remoteServiceClass = RemoteService.class;
        //2.获取方法对象
        Method call =
                remoteServiceClass.getDeclaredMethod("call", String.class);
        //3.获取方法对象上的注解
        GetMapping annotation = call.getAnnotation(GetMapping.class);
        //4.获取注解中value属性
        String value=annotation.value();
        System.out.println(value);

    }
}

这就是我们运用反射去得到注解上的字符串拼接成我们要的url地址 最后我们在底层还是运用的是restemplate 对象 调用 forobject方法 去调用远程服务。 

谢谢大家 生活快乐。

 类似资料: