springBoot整合dubbo集成项目

springBoot整合dubbo集成

	传统Spring 整合dubbo,需要繁琐的编写一堆堆的*.xml 配置文件
	而springBoot整合dubbo后,不在需要写*.xml,通过jar包引用,完
	成整合,通过注解的形式完成配置。提高我们的开发效率

目录结构
在这里插入图片描述
1 服务层生产者开发(hs-ldm-server-service)
1.1添加dubbo依赖包

<dependencies>
  <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-framework</artifactId>
        <version>2.8.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>2.8.0</version>
    </dependency>

		<dependency>
		    <groupId>com.alibaba.spring.boot</groupId>
		    <artifactId>dubbo-spring-boot-starter</artifactId>
		    <version>2.0.0</version>
		</dependency>
		
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>dubbo</artifactId>
		<version>2.6.1</version>
	</dependency>
	<dependency>
		<groupId>org.apache.zookeeper</groupId>
		<artifactId>zookeeper</artifactId>
		<version>3.4.6</version>
	</dependency>
	<dependency>
		<groupId>com.101tec</groupId>
		<artifactId>zkclient</artifactId>
		<version>0.9</version>
	</dependency>

如果不加curator-recipes和curator-framework依赖启动java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy 问题。
启动如果报错,请检查依赖版本是否过低!
1.2 配置application.properties
server.port=8050
#dubbo配置
spring.dubbo.application.name=hs-ldm-server-service
#注册中心地址
spring.dubbo.registry.address=zookeeper://192.168.228.52:2181
#配置了这个后,就会一直有守护京城,而不是启动就怪盗了
spring.dubbo.server=true
#扫描的包
spring.dubbo.scan=com.gy.ldm.server
#Dubbo Protocol
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=29999
spring.dubbo.protocol.version=1.0.0
#DemoService version
service.version=1.0.0
1.3服务类

package com.gy.ldm.server.service;

import org.springframework.stereotype.Component;

import com.alibaba.dubbo.config.annotation.Service;
@Component
@Service(version="${service.version}" ,interfaceClass = DubboServiceApi.class)
public class DubboService implements DubboServiceApi{

	public String getDubbo() {
		// TODO Auto-generated method stub
		return "dubbo";
	}

}

@component (把对象实例化到spring容器中)
注意这里的service引用!(com.alibaba.dubbo.config.annotation.Service)
1.4 服务启动类

@SpringBootApplication
@EnableDubboConfiguration
public class LdmServerApp {
	
	public static void main(String[] args) {
		SpringApplication.run(LdmServerApp.class, args);
	}
}

加载成功
启动成功!
2.接入层消费者开发
添加依赖和服务层提供者依赖一样
2.1配置application.properties

server.port=8051
#dubbo配置
#服务名称
spring.dubbo.application.name=ldm-client
#注册中心地址
spring.dubbo.registry.address=zookeeper://192.168.228.52:2181 
#扫描的包
spring.dubbo.scan=com.gy.ldm.client
## DemoService version
service.version=1.0.0

2.2Controller层服务

package com.gy.ldm.client.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.dubbo.config.annotation.Reference;
import com.gy.ldm.server.service.DubboServiceApi;

@Controller
public class TestController {
	@Reference(version="${service.version}",check = false)
	private DubboServiceApi dubboServiceApi;
	@RequestMapping("customer")
	@ResponseBody
	public String customer(){
		
		return dubboServiceApi.getDubbo();
	}
}

2.3启动服务

package com.gy.ldm.client;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;



@EnableDubboConfiguration
@SpringBootApplication
public class LdmClientApp {
	public static void main(String[] args) {
		SpringApplication.run(LdmClientApp.class, args);
	}
}


3.测试访问
在这里插入图片描述
4.注册中心服务
在这里插入图片描述
可以看见提供者发布的服务

springboot整合dubbo项目会上传,可以在我主页去下载

展开阅读全文

使用SpringBoot打造企业开发框架

05-12
Spring Boot使用“习惯优于配置”的理念让我们的项目快速运行起来,我们可以不用或者只需要很少的配置就能创建一个独立运行、准生产级别的基于Spring框架的项目。 我们不禁要问,这么一个优秀的框架,是不是在企业开发中就已经足够了,如果是,那么为什么像BAT这些大公司还要研发自己的交易框架,当然这里面除了核心技术之外,还有两个比较重要的原因: 第一:像Spring ,Spring Boot这些开源框架固然很优秀,但却不满足这些大公司对框架的功能要求,如spring scheduler就没有分布式调度能力,阿里研发了自己的tbschedule,以及后来的schedulerx; 第二:开源框架可以解决具体的领域问题,比如持久化框架Mybatis,RPC框架Dubbo,但是面对业务流程的开发却不是它的强项,以此就诞生了SSM,以及后来的Spring MVC。 放眼整个java开源世界,不管是功能问题还是业务流程开发问题都有对应框架和组件能满足我们的需求,只要我们的视野足够开阔,能有效的去整合开源组件,足以应付日常的开发。当然我们很难写出像Spring、Spring Boot、Mybatis这些优秀的框架,但是我们可以在这个基础之上,进行整合,甚至二次开发,形成公司自己的功能组件或者交易开发框架。 不客气的说,开源框架的底层少不了spring的身影,那么可以肯定在Spring Boot推出以后,开源框架势必会以Spring Boot作为底层平台进行二次改造,这是趋势,也是必然。本课程顺应潮流,以Spring Boot作为基础平台,充分发挥其特性,抽象业务流程,整合开源组件,降低开发难度,打造出一个功能强大的交易开发框架,简洁,优雅,好用。 本课程有如下技术特色: 第一:充分使用Spring Boot的自动装配、条件注解,以及各种使用技巧; 第二:使用注解@Transaction抽象业务流程,简化交易的定义和执行方式,比SpringMVC更符合业务流程的开发(当然SpringMVC很强大,无贬低之意) 第三:为使交易具备RPC能力,使用泛化方式集成Dubbo,其好处是服务端不再需要提供接口给客户端使用,简单、高效; 第四:使用nacos作为服务注册中心,也支持zookeeper; 第五:为使交易具备Http能力,在Spring MVC的基础上提供HandlerMapping、HandlerAdapter。 。。。 一切尽在代码中
©️2020 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值