服务提供者 项目结构:
provideServiceAnnotationImpl代码:
package com.dubboService.annotation;
import com.alibaba.dubbo.config.annotation.Service;
@Service
public class ProvideServiceAnnotationImpl implements ProvideServiceAnnotation {
@Override
public String saySomething(String words) {
return words;
}
}
DubboConfiguration代码:
package com.dubboService.configuration;
import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.ProtocolConfig;
import com.alibaba.dubbo.config.ProviderConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @EbavleDubbo扫描com.dubboService.annotation
* @Configuration将@bean信息注入dubbo服务。
*/
@Configuration
@EnableDubbo(scanBasePackages = "com.dubboService.annotation")
public class DubboConfiguration {
@Bean //服务提供者信息配置
public ProviderConfig providerConfig(){
ProviderConfig providerConfig = new ProviderConfig();
providerConfig.setTimeout(1000);
return providerConfig;
}
@Bean //应用信息配置
public ApplicationConfig applicationConfig(){
ApplicationConfig applicationConfig = new ApplicationConfig();
applicationConfig.setName("dubbo-annotation-provider");
return applicationConfig;
}
@Bean //注册中心信息配置
public RegistryConfig registryConfi(){
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress("你的zookeeperIP地址");
registryConfig.setPort(2181);
registryConfig.setProtocol("zookeeper");
return registryConfig;
}
@Bean //协议配置
public ProtocolConfig protocolConfig(){
ProtocolConfig protocolConfig = new ProtocolConfig();
protocolConfig.setName("dubbo");
protocolConfig.setPort(20880);
return protocolConfig;
}
}
启动类:
package com.dubboService;
import com.dubboService.configuration.DubboConfiguration;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.io.IOException;
/**
* Created by LUFENG.
*/
public class Appannotation {
public static void main(String[] args) throws IOException {
AnnotationConfigApplicationContext configApplicationContext = new AnnotationConfigApplicationContext(DubboConfiguration.class);
configApplicationContext.start();
}
}