第二天 下(整合篇)
- 篇幅較長,請配合目錄觀看
- 項目準備
- 1. dubbo整合
- 1.1 新建gmall-user-service項目(springboot)
- 1.2 gmall-user-service繼承gmall-parent,並引入相關依賴
- 1.3 新建gmall-user-web項目(springboot)
- 1.4 gmall-user-web繼承gmall-parent,並引入相關依賴
- 1.5 gmall-common-util引入dubbo框架
- 1.6 將gmall-user的service,mapper和application.properties移動到gmall-user-service
- 1.7 修改UserServiceImpl的@Service的註解
- 1.8 配置掃描註解
- 1.9 啓動gmall-user-service的程序入口
- 1.10 查看主頁
- 1.11 將gmall-user的controller移動到gmall-user-web
- 1.12 修改UserController的@Autowired註解
- 1.13 gmall-user-web配置dubbo
- 1.14 啓動gmall-user-web的程序入口
中國加油,武漢加油!
篇幅較長,請配合目錄觀看
項目準備
1. dubbo整合
1.1 新建gmall-user-service項目(springboot)
1.2 gmall-user-service繼承gmall-parent,並引入相關依賴
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.wpj.gmall</groupId>
<artifactId>gmall-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.wpj.gmall</groupId>
<artifactId>gmall-user-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>gmall-user-service</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 引入gmall-service-util -->
<dependency>
<groupId>com.wpj.gmall</groupId>
<artifactId>gmall-service-util</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- 引入gmall-api-->
<dependency>
<groupId>com.wpj.gmall</groupId>
<artifactId>gmall-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
1.3 新建gmall-user-web項目(springboot)
1.4 gmall-user-web繼承gmall-parent,並引入相關依賴
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.wpj.gmall</groupId>
<artifactId>gmall-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.wpj.gmall</groupId>
<artifactId>gmall-user-web</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>gmall-user-web</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 引入gmall-web-util -->
<dependency>
<groupId>com.wpj.gmall</groupId>
<artifactId>gmall-web-util</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- 引入gmall-api-->
<dependency>
<groupId>com.wpj.gmall</groupId>
<artifactId>gmall-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
1.5 gmall-common-util引入dubbo框架
<!-- dubbo框架 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
</dependency>
<!-- 同步註冊中心的服務 -->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 整合框架 -->
<dependency>
<groupId>com.gitee.reger</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
</dependency>
1.6 將gmall-user的service,mapper和application.properties移動到gmall-user-service
1.7 修改UserServiceImpl的@Service的註解
1.8 配置掃描註解
# 項目配置
server.port=8070
# jdbc配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/gmall
spring.datasource.username=root
spring.datasource.password=123456
# mybatis配置
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
# 駝峯
mybatis.configuration.map-underscore-to-camel-case=true
# 別名
mybatis.type-aliases-package=com.wpj.gmall.bean
# dubbo的配置
# dubbo中的服務名稱
spring.dubbo.application=user-service
# dubbo的通訊協議名稱
spring.dubbo.protocol.name=dubbo
# zookeeper註冊中心的地址
spring.dubbo.registry.address=47.98.33.215:2181
# zookeeper的通訊協議的名稱
spring.dubbo.registry.protocol=zookeeper
# dubbo的服務的掃描路徑
spring.dubbo.base-package=com.wpj.gmall
1.9 啓動gmall-user-service的程序入口
package com.wpj.gmall.user;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;
@SpringBootApplication
@MapperScan(basePackages = {"com.wpj.gmall.user.mapper"})
public class GmallUserServiceApplication {
public static void main(String[] args) {
SpringApplication.run(GmallUserServiceApplication.class, args);
}
}
1.10 查看主頁
1.11 將gmall-user的controller移動到gmall-user-web
1.12 修改UserController的@Autowired註解
1.13 gmall-user-web配置dubbo
# 服務端口
server.port=8080
# 日誌級別
logging.level.root=debug
# dubbo的配置
# dubbo中的服務名稱
spring.dubbo.application=user-web
# dubbo的通訊協議名稱
spring.dubbo.protocol.name=dubbo
# zookeeper註冊中心的地址
spring.dubbo.registry.address=47.98.33.215:2181
# zookeeper的通訊協議的名稱
spring.dubbo.registry.protocol=zookeeper
# dubbo的服務的掃描路徑
spring.dubbo.base-package=com.wpj.gmall