1 @Documented 2 @Retention(RetentionPolicy.RUNTIME) 3 @Target({ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE}) 4 public @interface Reference { 5 Class<?> interfaceClass() default void.class; 6 7 String interfaceName() default ""; 8 9 String version() default ""; 10 11 String group() default ""; 12 13 String url() default ""; 14 15 String client() default ""; 16 17 boolean generic() default false; 18 19 boolean injvm() default false; 20 21 boolean check() default true; 22 23 boolean init() default false; 24 25 boolean lazy() default false; 26 27 boolean stubevent() default false; 28 29 String reconnect() default ""; 30 31 boolean sticky() default false; 32 33 String proxy() default ""; 34 35 String stub() default ""; 36 37 String cluster() default ""; 38 39 int connections() default 0; 40 41 int callbacks() default 0; 42 43 String onconnect() default ""; 44 45 String ondisconnect() default ""; 46 47 String owner() default ""; 48 49 String layer() default ""; 50 51 int retries() default 0; 52 53 String loadbalance() default ""; 54 55 boolean async() default false; 56 57 int actives() default 0; 58 59 boolean sent() default false; 60 61 String mock() default ""; 62 63 String validation() default ""; 64 65 int timeout() default 0; 66 67 String cache() default ""; 68 69 String[] filter() default {}; 70 71 String[] listener() default {}; 72 73 String[] parameters() default {}; 74 75 String application() default ""; 76 77 String module() default ""; 78 79 String consumer() default ""; 80 81 String monitor() default ""; 82 83 String[] registry() default {}; 84 }
1 @Documented 2 @Retention(RetentionPolicy.RUNTIME) 3 @Target({ElementType.TYPE}) 4 @Inherited 5 public @interface Service { 6 Class<?> interfaceClass() default void.class; 7 8 String interfaceName() default ""; 9 10 String version() default ""; 11 12 String group() default ""; 13 14 String path() default ""; 15 16 boolean export() default false; 17 18 String token() default ""; 19 20 boolean deprecated() default false; 21 22 boolean dynamic() default false; 23 24 String accesslog() default ""; 25 26 int executes() default 0; 27 28 boolean register() default false; 29 30 int weight() default 0; 31 32 String document() default ""; 33 34 int delay() default 0; 35 36 String local() default ""; 37 38 String stub() default ""; 39 40 String cluster() default ""; 41 42 String proxy() default ""; 43 44 int connections() default 0; 45 46 int callbacks() default 0; 47 48 String onconnect() default ""; 49 50 String ondisconnect() default ""; 51 52 String owner() default ""; 53 54 String layer() default ""; 55 56 int retries() default 0; 57 58 String loadbalance() default ""; 59 60 boolean async() default false; 61 62 int actives() default 0; 63 64 boolean sent() default false; 65 66 String mock() default ""; 67 68 String validation() default ""; 69 70 int timeout() default 0; 71 72 String cache() default ""; 73 74 String[] filter() default {}; 75 76 String[] listener() default {}; 77 78 String[] parameters() default {}; 79 80 String application() default ""; 81 82 String module() default ""; 83 84 String provider() default ""; 85 86 String[] protocol() default {}; 87 88 String monitor() default ""; 89 90 String[] registry() default {}; 91 }
@Service dubbo提供者服务用于声明对外暴露服务
1.只能定义在一个类上,表示一个服务的具体实现
2.interfaceClass:指定服务提供方实现的 interface 的类
3.interfaceName:指定服务提供方实现的 interface 的类名
4.version:指定服务的版本号
5.group:指定服务的分组
6.export:是否暴露服务
7.registry:是否向注册中心注册服务
8.application:应用配置
9.module:模块配置
10.provider:服务提供方配置
11.protocol:协议配置
12.monitor:监控中心配置
13.registry:注册中心配置
@Reference 用于dubbo消费者服务指明引用哪个提供者接口服务
1.可以定义在类中的一个字段上,也可以定义在一个方法上,甚至可以用来修饰另一个 annotation,表示一个服务的引用。通常 @Reference 定义在一个字段上
2.interfaceClass:指定服务的 interface 的类
3.interfaceName:指定服务的 interface 的类名
4.version:指定服务的版本号
5.group:指定服务的分组
6.url:通过指定服务提供方的 URL 地址直接绕过注册中心发起调用
7.application:应用配置
8.module:模块配置
9.consumer:服务消费方配置
10.protocol:协议配置
11.monitor:监控中心配置
12.registry:注册中心配置
人生在世,杂事七八;饭要少吃,事要多知;抽个时间,总结一下;乐在分享,自在提升