dubbo和spring boot整合简约版(xml和annotation)
来源:互联网 发布:制作视频字幕软件 编辑:程序博客网 时间:2024/05/18 05:33
spring boot 和 dubbo 整合 xml + annotation 版本
(感觉好像是spring 与dubbo之间的整合)
provider要点:
1. dubbo.properties 配置dubbo的各种参数 application, registry.addres
dubbo.provider.xml 这里就是使用<dubbo: .../>
标签来导入dubbo.properties中的参数,并输出provider 实例
<dubbo:application name="${dubbo.application.name}"/> <dubbo:registry protocol="${dubbo.registry.protocol}" address="${dubbo.registry.address}"/> <dubbo:protocol name="${dubbo.protocol.name}" port="${dubbo.protocol.port}"/> <dubbo:service interface="com.zhb.app.dubbo.Hello" ref="helloImpl"/>
其中 helloImpl是在代码里面,使用annotation定义的实例。
2. spring boot中使用 下面的annotation 引入配置文件
@Configuration@PropertySource("classpath:dubbo/dubbo.properties") @ImportResource({ "classpath:dubbo/*.xml" }) public class DubboConfig {}
接下来
3. build.gradle 定义的第三方Jar, 除了spring boot的相关的
还有:dubbo 和 zkclient,zkclient如果没有,项目启动会报错的。暂时不知道为何需要。还有consumer和provider两端共有的api jar
consumer 要点
1. dubbo.properties 减少暴露服务方式的配置
dubbo-consumer.xml
<!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="${dubbo.application.name}" /> <!-- 注册中心暴露服务地址 --> <dubbo:registry protocol="${dubbo.registry.protocol}" address="${dubbo.registry.address}" /> <dubbo:reference id="helloImpl" interface="com.zhb.app.dubbo.Hello" />
然后再代码里面 @autowire
2. annotation 引入配置文件 同上。
3. build.gradle 同上
spring boot 和 dubbo 整合 纯annotation 版本
provider要点:
1. 使用annotation引入参数,
dubbo.annotation.package 这个参数比较重要,设置使用annotation扫描
使用AnnotationBean,ApplicationConfig 等bean来注入dubbo的参数。
@Configuration@ConditionalOnClass(Exporter.class)@PropertySource(value = "classpath:dubbo/dubbo.properties")public class DubboConfiguration { @Value("${dubbo.application.name}") private String applicationName; @Bean public static AnnotationBean annotationBean(@Value("${dubbo.annotation.package}") String packageName) { AnnotationBean annotationBean = new AnnotationBean(); annotationBean.setPackage(packageName); return annotationBean; }
后面的代码省略。。。。。
2. 使用spring的@Component和dubbo的@Service来提高一个示例
@Component@Service(version="1.0.0")public class HelloImpl implements Hello{ private static final Logger LOGGER = LoggerFactory.getLogger(HelloImpl.class); @Override public String sayHello(String name) { LOGGER.info("recevie invoke," + name); return "hello world," + name; }}
接下来
3. 之前的provider.xml以及相关的类就可以不用了,其他的配置不变
consumer要点:
1. 使用annotation引入参数, 和上面的相似,但是要去除ProtocolConfig配置,并且把providerConfig改为consumerConfig,其他的保持不变
2. 使用dubbo 的reference注解引入示例
@Reference(version = "1.0.0") private Hello hello;
直接使用即可
3. 之前的consumer.xml以及相关的类就可以不用了,其他的配置不变
最后加上build.gradle 配置文件
import java.lang.invoke.LambdaForm.Compiled;buildscript{ ext{ springBootVersion = '1.3.5.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") }}apply plugin: 'java'apply plugin: 'eclipse'apply plugin: 'spring-boot'springBoot { backupSource = false mainClass = 'com.zhb.app.PortalApplication'}jar { baseName = 'springBootTest' version = '0.0.1-SNAPSHOT'}//apply plugin: 'application'//applicationDefaultJvmArgs = ['-javaagent:E:\\xgsdk\\commonLib\\springloaded-1.2.5.RELEASE.jar -noverify']repositories { mavenCentral()}dependencies { compile fileTree(dir: "libs", include: "*.jar") compile "org.springframework.boot:spring-boot-starter-web" compile( "com.alibaba:fastjson:1.2.4", "commons-codec:commons-codec:1.5", "org.apache.commons:commons-lang3:3.3.2", "com.alibaba:dubbo:2.5.6" ) compile("com.github.sgroschupf:zkclient:0.1") { exclude group: 'org.slf4j' } testCompile("org.springframework.boot:spring-boot-starter-test")}
- dubbo和spring boot整合简约版(xml和annotation)
- Spring Boot Dubbo 整合和入门理解
- Spring boot和dubbo整合——基于传统方式
- SSH整合-XML版和Annotation版
- Spring boot 整合Dubbo
- Spring Boot整合Dubbo
- Spring整合hibernate的事务属性介绍以及声明式事务管理 (使用Annotation和xml)
- Spring整合hibernate的事务属性介绍以及声明式事务管理 (使用Annotation和xml)
- Spring Boot整合Dubbo运行
- spring boot + dubbo整合注意事项
- (十)Spring Boot 整合dubbo
- Spring Boot整合Dubbo运行
- spring boot和mybatis整合
- Spring boot和dubbo整合部署到tomcat——基于注解方式
- dubbo系列(一)——dubbo简介和dubbo+spring+zookeeper配置整合
- spring boot配置dubbo(XML)
- Dubbo与Zookeeper、Spring整合和使用
- Dubbo整合Zookeeper和Spring示例程序
- Leetcode 1 Two Sum
- Spring使用@Resource、@Autowired注入时出现空指针问题的原因
- 开始start
- 设置启动Eclipse的JDK版本
- Matlab运行ML课程作业
- dubbo和spring boot整合简约版(xml和annotation)
- Faster RCNN win版本
- 这是在遇到ftp用了多种方法均无法使用后找到的一种方法
- SpringMVC获取页面参数的五种方法
- 两个数的加减乘除
- leetcode---merge-two-sorted-lists---链表
- 关于做crm系统中查询所有联系人功能报出的异常
- Zookeeper
- Java_Object_wait()、notify()、notifyAll()