ReferenceConfig<Service> reference = new ReferenceConfig<>();
reference.setInterface(Service.class);
List<ProtocolConfig> protocols = new ArrayList<>();
ProtocolConfig protocol1 = new ProtocolConfig();
protocol1.setName("dubbo");
protocol1.setPort(20880);
protocols.add(protocol1);
ProtocolConfig protocol2 = new ProtocolConfig();
protocol2.setName("rest");
protocol2.setPort(8080);
protocols.add(protocol2);
reference.setProtocols(protocols);
List<RegistryConfig> registries = new ArrayList<>();
RegistryConfig registry1 = new RegistryConfig();
registry1.setAddress("zookeeper://127.0.0.1:2181");
registries.add(registry1);
RegistryConfig registry2 = new RegistryConfig();
registry2.setAddress("redis://127.0.0.1:6379");
registries.add(registry2);
reference.setRegistries(registries);
List<SerializationConfig> serializations = new ArrayList<>();
SerializationConfig serialization1 = new SerializationConfig();
serialization1.setType("hessian");
serializations.add(serialization1);
SerializationConfig serialization2 = new SerializationConfig();
serialization2.setType("json");
serializations.add(serialization2);
reference.setSerializations(serializations);
Service service = reference.get();
service.sayHello();
<dubbo:reference interface="com.example.Service">
<dubbo:protocol name="dubbo" port="20880" />
<dubbo:protocol name="rest" port="8080" />
<dubbo:registry address="zookeeper://127.0.0.1:2181" />
<dubbo:registry address="redis://127.0.0.1:6379" />
<dubbo:serialization type="hessian" />
<dubbo:serialization type="json" />
</dubbo:reference>