springboot mybatis dubbo zookeeper的简单使用
2018-03-20 10:27
495 查看
参考文章:http://www.r9it.com/20171018/springboot-dubbo.html http://blog.csdn.net/rchengzhi/article/details/78990543
在这之前已经完成了dubbo和zookeeper的安装.并成功启动.
windows参考:http://blog.csdn.net/cencfeng11/article/details/79541175
1. 新建maven项目,把src删除,分别新建springboot module :
dubbo-api //service and entity
public class User implements Serializable{
private int id;
private String username;
private String password;
dubbo-provider //mapper and impl
@Mapper
public interface UserMapper {
User getUserByName(String username);
User getUser(User user);
}import com.alibaba.dubbo.config.annotation.Service;
import com.cen.dubboapi.entity.User;
import com.cen.dubboapi.service.UserService;
import com.cen.dubboprovider.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserMapper userMapper<
4000
span style="color:#cc7832;">;
@Override
public User getUserByName(String username) {
return userMapper.getUserByName(username);
}
@Override
public User getUser(User user) {
return userMapper.getUser(user);
}
}
dubbo-consumer //controller
import com.alibaba.dubbo.config.annotation.Reference;
import com.cen.dubboapi.entity.User;
import com.cen.dubboapi.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/user")
public class UserController {
@Reference
UserService userService;
@RequestMapping("/login")
public String login(User user){
user = userService.getUser(user);
if(user != null){
return "menu";
}
return "failed";
}
}
这样分module的目的是让provider和consumer共用api和实体类
2. provider提供服务,在service中暴露服务,因为是用的注解暴露服务,所以,@Service是alibaba.dubbo的,dubbo扫描的包为服务所在的包,provider ----application.properties:
## 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/cf
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
## dubbo 服务提供者配置 ##
spring.dubbo.application.name=provider
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
spring.dubbo.scan=com.cen.dubboprovider.impl
## Mybatis 配置
mybatis.typeAliasesPackage=com.cen.dubboapi.entity
mybatis.mapperLocations=classpath:/mapper/*.xml
server.port=70013. consumer使用服务 application.properties
## 避免和 server 工程端口冲突
server.port=7002
## Dubbo 服务消费者配置
spring.dubbo.application.name=consumer
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.scan=com.cen.dubboconsumer.controller
## html免检 ##
spring.thymeleaf.cache=false
spring.thymeleaf.mode=LEGACYHTML5
## 视图控制 ##
spring.mvc.view.prefix=/templates/
spring.mvc.view.suffix=.html4.分别启动provider和consumer,需要先启动zookeeper和dubbo,引入的pom参考如下:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.cen</groupId>
<artifactId>dubboapi</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.0</version>
<exclusions>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.11</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
<version>${dubbo-spring-boot}</version>
</dependency>
</dependencies>5.启动provider和consumer后,在dubbo-admin中就能看到provider和consumer的详细内容了.
在这之前已经完成了dubbo和zookeeper的安装.并成功启动.
windows参考:http://blog.csdn.net/cencfeng11/article/details/79541175
1. 新建maven项目,把src删除,分别新建springboot module :
dubbo-api //service and entity
public class User implements Serializable{
private int id;
private String username;
private String password;
public interface UserService { User getUserByName(String username); User getUser(User user); }
dubbo-provider //mapper and impl
@Mapper
public interface UserMapper {
User getUserByName(String username);
User getUser(User user);
}import com.alibaba.dubbo.config.annotation.Service;
import com.cen.dubboapi.entity.User;
import com.cen.dubboapi.service.UserService;
import com.cen.dubboprovider.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserMapper userMapper<
4000
span style="color:#cc7832;">;
@Override
public User getUserByName(String username) {
return userMapper.getUserByName(username);
}
@Override
public User getUser(User user) {
return userMapper.getUser(user);
}
}
dubbo-consumer //controller
import com.alibaba.dubbo.config.annotation.Reference;
import com.cen.dubboapi.entity.User;
import com.cen.dubboapi.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/user")
public class UserController {
@Reference
UserService userService;
@RequestMapping("/login")
public String login(User user){
user = userService.getUser(user);
if(user != null){
return "menu";
}
return "failed";
}
}
这样分module的目的是让provider和consumer共用api和实体类
2. provider提供服务,在service中暴露服务,因为是用的注解暴露服务,所以,@Service是alibaba.dubbo的,dubbo扫描的包为服务所在的包,provider ----application.properties:
## 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/cf
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
## dubbo 服务提供者配置 ##
spring.dubbo.application.name=provider
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
spring.dubbo.scan=com.cen.dubboprovider.impl
## Mybatis 配置
mybatis.typeAliasesPackage=com.cen.dubboapi.entity
mybatis.mapperLocations=classpath:/mapper/*.xml
server.port=70013. consumer使用服务 application.properties
## 避免和 server 工程端口冲突
server.port=7002
## Dubbo 服务消费者配置
spring.dubbo.application.name=consumer
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.scan=com.cen.dubboconsumer.controller
## html免检 ##
spring.thymeleaf.cache=false
spring.thymeleaf.mode=LEGACYHTML5
## 视图控制 ##
spring.mvc.view.prefix=/templates/
spring.mvc.view.suffix=.html4.分别启动provider和consumer,需要先启动zookeeper和dubbo,引入的pom参考如下:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.cen</groupId>
<artifactId>dubboapi</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.0</version>
<exclusions>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.11</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
<version>${dubbo-spring-boot}</version>
</dependency>
</dependencies>5.启动provider和consumer后,在dubbo-admin中就能看到provider和consumer的详细内容了.
相关文章推荐
- springboot+mybatis+zookeeper+dubbo的组合使用
- SpringCloud SpringBoot mybatis 分布式微服务(九)Spring Boot中使用Spring-data-jpa让数据访问更简单
- Spring+Dubbo+Zookeeper简单框架与使用
- 架构实战项目心得(七):使用SpringBoot+Dubbo+Mybatisplus+Oracle搭建后台项目框架(一)
- dubbo+zookeeper+spring+springMVC+mybatis的使用
- dubbo+zookeeper+spring+springMVC+mybatis的使用
- springboot+dubbo+zookeeper+mybatis+redis+druid+rabbitmq
- Springboot搭建dubbo(详细,zookeeper使用windows版)
- dubbo+zookeeper+spring+springMVC+mybatis的使用
- 架构实战项目心得(七):使用SpringBoot+Dubbo+Mybatisplus+Oracle搭建后台项目框架(二)
- Springboot + Mybatis+Dubbo+Zookeeper+nginx+redis+HTML
- eclipse 使用maven 构建springboot+dubbo+zookeeper 构建soa服务(面向服务架构)
- spring boot mybatis 简单整合使用
- 使用dubbo+zookeeper+spring boot构建服务的方法详解
- 使用springboot+dubbo+zookeeper构建搭建生产者平台
- Spring Boot(1)集成MyBatis的简单使用
- 基于maven+dubbo+spring+zookeeper的简单项目搭建
- Dubbo与Zookeeper、Spring整合使用
- Dubbo Zookeeper与Spring或者struts2整合和使用
- 分布式云+dubbo+zookeeper+Springmvc+mybatis+restful整合