package rpc.demo.client.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.alibaba.dubbo.config.ApplicationConfig; import com.alibaba.dubbo.config.ProtocolConfig; import com.alibaba.dubbo.config.RegistryConfig; import com.alibaba.dubbo.config.spring.AnnotationBean; @Configuration @ConfigurationProperties(prefix = DubboConfig.DUBBO_PREFIX) public class DubboConfig { @Bean public ApplicationConfig applicationConfig() { ApplicationConfig applicationConfig = new ApplicationConfig(); applicationConfig.setName(getApplicationName()); applicationConfig.setOwner(getApplicationOwner()); return applicationConfig; } @Bean public RegistryConfig registryConfig() { RegistryConfig registryConfig = new RegistryConfig(); registryConfig.setAddress(getRegistryAddress()); return registryConfig; } @Bean public ProtocolConfig protocalConfig(){ ProtocolConfig protocolConfig = new ProtocolConfig(); protocolConfig.setName(getProtocolName()); protocolConfig.setPort(getProtocalPort()); return protocolConfig; } @Bean public AnnotationBean annotationBean() { AnnotationBean annotationBean = new AnnotationBean(); annotationBean.setPackage(getBasePackage()); return annotationBean; } public static final String DUBBO_PREFIX = "dubbo"; private String applicationName; private String applicationOwner; private String basePackage; private String protocolName; private Integer protocalPort; private String registryAddress; public String getApplicationName() { return applicationName; } public void setApplicationName(String applicationName) { this.applicationName = applicationName; } public String getApplicationOwner() { return applicationOwner; } public void setApplicationOwner(String applicationOwner) { this.applicationOwner = applicationOwner; } public String getBasePackage() { return basePackage; } public void setBasePackage(String basePackage) { this.basePackage = basePackage; } public String getProtocolName() { return protocolName; } public void setProtocolName(String protocolName) { this.protocolName = protocolName; } public String getRegistryAddress() { return registryAddress; } public void setRegistryAddress(String registryAddress) { this.registryAddress = registryAddress; } public Integer getProtocalPort() { return protocalPort; } public void setProtocalPort(Integer protocalPort) { this.protocalPort = protocalPort; } }