柚子快報(bào)激活碼778899分享:Rest 構(gòu)建分布式微服務(wù)架構(gòu)
柚子快報(bào)激活碼778899分享:Rest 構(gòu)建分布式微服務(wù)架構(gòu)
開發(fā)環(huán)境要求
jdk1.8
(Spring Boot
推薦
jdk1.8
及以上
)
:
java version "1.8.0_151"
Maven 3.x
(maven 3.2
以上版本
)
:
Apache Maven 3.3.9
IntelliJ IDEA
:
IntelliJ IDEA 2018.2.1 x64
Spring Boot
:
Spring Boot 2.0.7
Spring Cloud
使用當(dāng)前最新穩(wěn)定版本:
Finchley SR2
,
搭配
Spring Boot 2.0.7
穩(wěn)定版
官網(wǎng)
:
http://spring.io/projects/spring-cloud
Spring Cloud & Spring Boot
依賴關(guān)系
GA
: General Availability
,正式發(fā)布的版本,官方推薦使用此版本。在國(guó)外都是用
GA
來說
release
版本的;
PRE
:
預(yù)覽版
,
內(nèi)部測(cè)試版
.
主要是給開發(fā)人員和測(cè)試人員測(cè)試和找
BUG
用的,不建議使用;
SNAPSHOT
:
快照版,可以穩(wěn)定使用,且仍在繼續(xù)改進(jìn)版本。
修改
Maven
配置文件
在
Maven
安裝目錄下的
settings.xml
配置文件中
,
添加如下配置
IntelliJ IDEA
設(shè)置
在
idea
上將
maven
環(huán)境添加進(jìn)來
微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目介紹
項(xiàng)目需求:
以 商品管理模塊 做一個(gè)微服務(wù)架構(gòu)通用案例,消費(fèi)者
Consumer
(
Client
)通過
REST
調(diào)用 提供者
Provider
(
Server
)提供的商品管理服務(wù)。
Maven
的分包分模塊架構(gòu)
一個(gè)
Project
父工程下有多個(gè)
Module
子模塊
? ? ? ?microservice-cloud-01
父工程(
Project
)下初始化
3
個(gè)子模塊(
Module
):
? ? ? ?microservice-cloud-02-api
封裝的整體
Entity/
接口
/
公共配置等
? ? ? ?microservice-cloud-03-provider-product-8001
微服務(wù)的服務(wù)提供者
Provider
? ? ? ?microservice-cloud-04-consumer-product-80
微服務(wù)的服務(wù)消費(fèi)者
Consumer
瀏覽器發(fā)送
URL
請(qǐng)求服務(wù)默認(rèn)的端口號(hào)都是
80
,因此只需輸入
IP
或域名即可,可省略
:80
?
構(gòu)建
Project
父工程
(microservice-cloud-01)
創(chuàng)建父工程
(pom
類型
)
注意
:
父工程
microservice-cloud-01
,切記是
Packageing
是
pom
類型
? ?1.
創(chuàng)建父工程
microservice-cloud-01
刪除
src
目錄及子目錄,在
pom.xml
中手動(dòng)指定為
pom
類型
,
如下所示
:
在
pom.xml
中定義公共依賴,并各個(gè)子模塊聚合進(jìn)來
構(gòu)建公共模塊
(microservice-cloud-02-api)
創(chuàng)建模塊
創(chuàng)建完成后請(qǐng)回到父工程查看
pom
文件變化
POM
文件
新建商品實(shí)體類
構(gòu)建服務(wù)提供者
創(chuàng)建
Module
:
microservice-cloud-03-provider-product-8001
配置
pom.xml
文件
配置
application.yml
文件
在
src/main/resources
下新建
application.yml
文件,配置如下
運(yùn)行
MySQL
數(shù)據(jù)庫(kù)腳本
創(chuàng)建
Mapper
接口
Mybatis
相關(guān)配置
1. src/main/resources
下新建
mybatis
目錄后新建
mybatis.cfg.xml
核心配置文件,內(nèi)容如下:
src/main/resources/mybatis
下新建
mapper
目錄后新建
ProductMapper.xml
映射文件,內(nèi)容如下:
創(chuàng)建 服務(wù)層
部門服務(wù)接口:
ProductService
部門服務(wù)接口實(shí)現(xiàn)類
ProductServiceImpl
創(chuàng)建 控制層
-
提供者
部門微服務(wù)提供者
REST
:
ProductController
創(chuàng)建主啟動(dòng)類
創(chuàng)建主啟動(dòng)類:
MicroserviceProductProvider_8001
功能測(cè)試
http://localhost:8001/product/get/3
http://localhost:8001/product/list
配置
pom.xml
文件
配置
application.yml
文件
在
src/main/resources
下新建
application.yml
文件,配置如下:
自定義
Rest
相關(guān)配置類
在
com.mengxuegu.springcloud.config
包下新建配置類:
ConfigBean
向容器中注入
RestTemplate
組件
,
提供了多種簡(jiǎn)單便捷的訪問
Restful
服務(wù)的方法,是
Spring
提供的用于訪
問
Rest
服務(wù)的客戶端模板工具集。
(url, requestMap, ResponseBean.class)
這三個(gè)參數(shù)分別代表:
REST
請(qǐng)求地址、請(qǐng)求參數(shù)、
HTTP
響應(yīng)轉(zhuǎn)換被轉(zhuǎn)換成的對(duì)象類型。
創(chuàng)建 控制層
-
消費(fèi)者
1.
在
com.mengxuegu.springcloud.controller
包下新建消費(fèi)者
: ProductController_Consumer
創(chuàng)建 主啟動(dòng)類
功能測(cè)試
http://localhost/consumer/product/get/3
http://localhost/consumer/product/list
http://localhost/consumer/product/add?productName=java
柚子快報(bào)激活碼778899分享:Rest 構(gòu)建分布式微服務(wù)架構(gòu)
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。