
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:注冊中心配置
人生在世,雜事七八;飯要少吃,事要多知;抽個時間,總結一下;樂在分享,自在提升