Solon

六、使用注册与发现服务

</> markdown

想要进一步自动化,需要使用注册与发现服务,且与Ico/Aop框架绑定。此例与 Solon 绑定使用。

1、接口申明:

将 @NamiClient 加在接口上,申明连接服务名及父级路径。在别处注入时,可以省掉这部分

@NamiClient(name="somplex-api", path="/ComplexModelService/")
public interface IComplexModelService {
    //持久化
    void save(ComplexModel model);

    //读取
    ComplexModel read(Integer modelId);
}

2、使用:

引入 water-solon-cloud-plugin 插件依赖(或者别的注册与发现服务)。修改应用配置:

server.port: 9001

solon.app:
  group: "demo"
  name: "demo-app"
  
solon.cloud.water:
  server: "waterapi:9371"
@Maping("user")
@Controller
public class UserController {
    //注入时,会自动继承在接口上申明的 @NamiClient 信息 //其它,如何构建都是自动
    @NamiClient
    IComplexModelService complexModelService;
    
    @Post
    @Mapping("test")
    public void test(User user){
        ComplexModel tmp = service.read(1);
        service.save(tmp);
    }
}