### 1、注解清单

| 注解 | 适用范围 | 说明 |
| -------- | -------- | -------- |
| @CloudConfig     | 类、字段、参数     | 配置注入     |
| @CloudEvent     | 类     | 事件     |
| @CloudJob     | 类、函数     | 任务     |
| @CloudBreaker     | 类、函数     | 融断器     |


### 2、通用客户端

通用客户端，提供了所有不同框架的统一使用界面，同时提供了自由手动操控的机制。当然，注解支持不会少！

```java 
//手动获取配置（不管背后是哪个配置框架，都是如此）
 Config val1 = CloudClient.config().pull("demo.ds");
 
 //手动生成ID
 long val2 = CloudClient.id().generate();
 
 //手动发布事件（不管背后是哪个消息队列，都是如此）
 CloudClient.event().publish(new Event("demo.user.login","1"));
 
 //分布式锁
 if(CloudClient.lock().tryLock("demo.lock.key")){
     //...业务处理
     CloudClient.lock().unlock("demo.lock.key");
 }
 
 //分布式名单
 if(CloudClient.list().inListOfIp("safelist",ip)){
     //...业务处理
 }
 
 //分布式文件
 String demoJson= CloudClient.file().get("demo.file.key").bodyAsString();
 
 //分布式计数
 CloudClient.metric().addCount("demo","demo.api.user.add", 1);
 
 //等等
```


### 3、注解能力开关

开关，应该在应用初始化时配置。

```java
//配置：是否启用 @CloudConfig 注解（默认，开启）
CloudClient.enableConfig(false);

//配置：是否启用 @CloudEvent 注解（默认，开启）
CloudClient.enableEvent(false);

//配置：是否启用 @CloudBreaker 注解（默认，开启）
CloudClient.enableBreaker(false);

//配置：是否启用 @CloudJob 注解（默认，开启）
CloudClient.enableJob(false);
```

示例：

```java
public class App {
    public static void main(String[] args) {
        Solon.start(app.class, args, app->{
            CloudClient.enableEvent(false);
        });
    }
}
```