国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】

這篇具有很好參考價值的文章主要介紹了Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??前言
本篇博文是關于Spring Cloud–從零開始搭建微服務基礎環(huán)境【二】,希望你能夠喜歡

??個人主頁:晨犀主頁
??個人簡介:大家好,我是晨犀,希望我的文章可以幫助到大家,您的滿意是我的動力????

??歡迎大家:這里是CSDN,我總結(jié)知識的地方,歡迎來到我的博客,感謝大家的觀看??
如果文章有什么需要改進的地方還請大佬不吝賜教 先在此感謝啦??

微服務基礎環(huán)境搭建【二】

創(chuàng)建會員中心微服務模塊-service provider

需求說明/圖解

1、通過瀏覽器可以獲取會員信息(通過會員中心微服務模塊)

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

  1. 使用Postman 測試查詢

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

思路分析/圖解

1、創(chuàng)建Moduel 并完成配置

2、創(chuàng)建數(shù)據(jù)庫/表

3、創(chuàng)建entity-dao/Mapper.xml-service-controller

4、完成測試

實現(xiàn)步驟

創(chuàng)建Moduel & 完成配置
創(chuàng)建member-service-provider-10000 微服務模塊[提供會員服務]
  • 具體操作步驟

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

父工程的pom.xml-會做相應變化,管理member-service-provider-10000 微服務子模塊

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

修改member-service-provider-10000 的pom.xml , 加入相關依賴
  1. 修改pom.xml
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>e-commerce-center</artifactId>
        <groupId>com.nlc.springcloud</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>member-service-provider-10000</artifactId>

    <!--引入相關的依賴: 我們引入了當前需要的依賴,后面如果有其它需要,再靈活調(diào)整-->
    <dependencies>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>
        
            <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
       	<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <!-- 這里我們重新指定一下version -->
            <version>1.1.13</version>
        </dependency>

        <!--引入web-starter 說明我們使用版本仲裁(從父項目繼承了版本)
        -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>


        <!--說明:starter-actuator 是springboot程序的監(jiān)控系統(tǒng), 可以實現(xiàn)系統(tǒng)的健康檢測
        可以通過http://localhost:80/actuator 看到相關的連接,和信息
        -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>


        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
       </dependency>
        
           
       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
        
        <!--引入spring-boot-starter-test-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

</project>
  1. 刷新maven , 注意看引入的jar 的版本.

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

創(chuàng)建resources/application.yml
server:
  port: 10000

spring:
  application:
    name: member-service-provider #配置應用的名稱
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://localhost:3306/e_commerce_center_db?useSSL=true&useUnicode=true&characterEncoding=UTF-8
    username: root
    password: 123456
#配置mybatis
mybatis:
  mapper-locations: classpath:mapper/*.xml #指定mapper.xml文件位置
  type-aliases-package: com.my.springcloud.entity # 實例類所在的包,這樣通過類名就可以引用
創(chuàng)建主啟動類MemberApplication
@SpringBootApplication
public class MemberApplication10000 {
    public static void main(String[] args) {
        SpringApplication.run(MemberApplication10000.class, args);
    }
}
創(chuàng)建數(shù)據(jù)庫/表
CREATE DATABASE e_commerce_center_db
USE e_commerce_center_db
CREATE TABLE member
(
id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'id',
NAME VARCHAR(64) COMMENT '用戶名',
pwd CHAR(32) COMMENT '密碼',
mobile VARCHAR(20) COMMENT '手機號碼',
email VARCHAR(64) COMMENT '郵箱',
gender TINYINT COMMENT '性別',
PRIMARY KEY (id)
);
INSERT INTO member VALUES
(NULL, 'smith', MD5('123'), '123456789000', 'smith@sohu.com', 1);
SELECT * FROM member
業(yè)務實現(xiàn)
創(chuàng)建entity
@AllArgsConstructor
@NoArgsConstructor
@Data
//Serializable 加上,后面可能使用
public class Member implements Serializable {
    private Long id;
    private String name;
    private String pwd;
    private String mobile;
    private String email;
    private Integer gender;
}

創(chuàng)建com/my/springcloud/entity/Result.java

/**
* 1. 用于返回結(jié)果, 利于json 格式
* 2. 這個工具類, 在網(wǎng)上也可找到
*/
public class Result<T> {
    private String code;
    private String msg;
    private T data;
    public String getCode() {
    	return code;
    }
    public void setCode(String code) {
    this.code = code;
    }
    public String getMsg() {
    	return msg;
    }
    public void setMsg(String msg) {
    	this.msg = msg;
    }
    public T getData() {
    	return data;
    }
    public void setData(T data) {
    	this.data = data;
    }
    public Result() {
    }
    public Result(T data) {
    	this.data = data;
    }
    public static Result success() {
        Result result = new Result<>();
        result.setCode("200");
        result.setMsg("success");
        return result;
    }
    public static <T> Result<T> success(T data) {
        Result<T> result = new Result<>(data);
        result.setCode("200");
        result.setMsg("success");
        return result;
    }
    public static <T> Result<T> success(String msg, T data) {
        Result<T> result = new Result<>(data);
        result.setCode("200");
        result.setMsg(msg);
        return result;
    }
    public static Result error(String code, String msg) {
        Result result = new Result();
        result.setCode(code);
        result.setMsg(msg);
        return result;
    }
    public static <T> Result<T> error(String code, String msg, T data) {
        Result<T> result = new Result<>(data);
        result.setCode(code);
        result.setMsg(msg);
        return result;
    }
}
創(chuàng)建Dao

創(chuàng)建接口:com/my/springcloud/dao/MemberDao.java

@Mapper
public interface MemberDao {
    //crud 接口...
    Member queryMemberById(Long id);
    int save(Member member);
}

創(chuàng)建resources/mapper/MemberMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.my.springcloud.dao.MemberDao">

    <!--配置實現(xiàn)queryMemberById
    1. 這里可以使用 resultType="Member"
    2. 當然也可以使用resultMap="自定義的resultMap", 這里我們使用resultMap
    3. 如何配置一個resultMap ,在mybatis講過的,請回顧
    -->
    <resultMap id="BaseResultMap" type="Member">
        <id column="id" property="id" jdbcType="BIGINT"></id>
        <id column="name" property="name" jdbcType="VARCHAR"></id>
        <id column="pwd" property="pwd" jdbcType="VARCHAR"></id>
        <id column="mobile" property="mobile" jdbcType="VARCHAR"></id>
        <id column="email" property="email" jdbcType="VARCHAR"></id>
        <id column="gender" property="gender" jdbcType="TINYINT"></id>
    </resultMap>

    <select id="queryMemberById" parameterType="Long" resultMap="BaseResultMap">
        SELECT * FROM `member` WHERE `id`=#{id}
    </select>

     <!--配置實現(xiàn)save -->
    <insert id="save" parameterType="Member" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO `member`(`NAME`,`pwd`,`mobile`,`email`,`gender`)
        VALUES(#{name}, MD5(#{pwd}), #{mobile}, #{email}, #{gender});
    </insert>
</mapper>

完成測試

創(chuàng)建Service

創(chuàng)建接口:com/my/springcloud/service/MemberService.java

public interface MemberService {
    Member queryMemberById(Long id);
    int save(Member member);
}

創(chuàng)建com/my/springcloud/service/impl/MemberServiceImpl.java

@Service
public class MemberServiceImpl implements MemberService {

    //裝配MemberDao
    @Resource
    private MemberDao memberDao;
    @Override
    public Member queryMemberById(Long id) {
        return memberDao.queryMemberById(id);
    }
    @Override
    public int save(Member member) {
        return memberDao.save(member);
    }
}

完成測試

創(chuàng)建 Controller

創(chuàng)建:com/my/springcloud/controller/MemberController.java

@RestController
@Slf4j
public class MemberController {

    //裝配MemberService
    @Resource
    private MemberService memberService;

    //添加方法/接口
    //這里請小伙伴回顧, 應該如何提交
    //說明
    //1. 我們的前端如果是以json格式來發(fā)送添加信息Member, 那么我們需要使用@RequestBody
    //   , 才能將數(shù)據(jù)封裝到對應的bean, 同時保證http的請求頭的 content-type是對應
    //2. 如果前端是以表單形式提交了,則不需要使用@RequestBody, 才會進行對象參數(shù)封裝, 同時保證
    //   http的請求頭的 content-type是對應
    @PostMapping("/member/save")
    public Result save(@RequestBody Member member) {
        log.info("service-provider member={}", member);
        int affected = memberService.save(member);
        if (affected > 0) { //說明添加成功
            return Result.success("添加會員成功", affected);
        } else {
            return Result.error("401", "添加會員失敗");
        }
    }

    //查詢的方法/接口
    //這里使用url占位符+@PathVariable
    @GetMapping("/member/get/{id}")
    public Result getMemberById(@PathVariable("id") Long id, HttpServletRequest request) {

        //String color = request.getParameter("color");
        //String address = request.getParameter("address");
        //模擬超時, 休眠5s
        //try {
        //    TimeUnit.MILLISECONDS.sleep(5000);
        //} catch (InterruptedException e) {
        //    e.printStackTrace();
        //}

        Member member = memberService.queryMemberById(id);

        //使用Result把查詢到的結(jié)果返回
        if (member != null) {
            //return Result.success("查詢會員成功 member-service-provider-10000 " + color + "-" + address, member);
            return Result.success("查詢會員成功 member-service-provider-10000", member);
        } else {
            return Result.error("402", "ID= " + id + "不存在");
        }

    }
}
完成測試
瀏覽器

瀏覽器輸入: http://localhost:10000/member/get/1

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

PostMan:
  1. 測試查詢

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

  1. 測試添加

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

注意事項和細節(jié)

1、我們的前端如果是以json 格式來發(fā)送添加信息furn,那么我們需要使用@RequestBody,才能將數(shù)據(jù)封裝到對應的bean, 同時保證http 的請求頭的content-type 是對應。

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

2、如果前端是以表單形式提交了/或者是以parameters,則不需要使用@RequestBody, 才會進行對象參數(shù)封裝, 同時保證http 的請求頭的content-type 是對應。

3、在進行SpringBoot 應用程序測試時,引入的JUnit 是org.junit.jupiter.api.Test。

4、在運行程序時,一定要確保你的XxxxMapper.xml 文件被自動放到的target 目錄的classes 指定目錄。

Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】,Spring Cloud,spring cloud,微服務,spring

文章到這里就結(jié)束了,如果有什么疑問的地方請指出,諸大佬們一起來評論區(qū)一起討論??
希望能和諸大佬們一起努力,今后我們一起觀看感謝您的閱讀??
如果幫助到您不妨3連支持一下,創(chuàng)造不易您們的支持是我的動力??文章來源地址http://www.zghlxwxcb.cn/news/detail-692206.html

到了這里,關于Spring Cloud--從零開始搭建微服務基礎環(huán)境【二】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 從零開始 Spring Cloud 7:Gateway

    從零開始 Spring Cloud 7:Gateway

    圖源:laiketui.com Spring Cloud Gateway 是 Spring Cloud 的一個全新項目,該項目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等響應式編程和事件流技術開發(fā)的網(wǎng)關,它旨在為微服務架構(gòu)提供一種簡單有效的統(tǒng)一的 API 路由管理方式。 網(wǎng)關的 核心功能特性 : 請求路由 權(quán)限控制 限流

    2024年02月16日
    瀏覽(21)
  • 從零開始 Spring Cloud 12:Sentinel

    從零開始 Spring Cloud 12:Sentinel

    1.1雪崩問題 1.1.1什么是雪崩問題 微服務中,服務間調(diào)用關系錯綜復雜,一個微服務往往依賴于多個其它微服務。 如圖,如果服務提供者I發(fā)生了故障,當前的應用的部分業(yè)務因為依賴于服務I,因此也會被阻塞。此時,其它不依賴于服務I的業(yè)務似乎不受影響。 但是,依賴服務

    2024年02月11日
    瀏覽(19)
  • SpringCloud--從零開始搭建微服務基礎環(huán)境入門教程【一】

    SpringCloud--從零開始搭建微服務基礎環(huán)境入門教程【一】

    ??前言 本篇博文是關于SpringCloud–從零開始搭建微服務基礎環(huán)境入門教程【一】,希望你能夠喜歡?? ??個人主頁:晨犀主頁 ??個人簡介:大家好,我是晨犀,希望我的文章可以幫助到大家,您的滿意是我的動力???? ??歡迎大家:這里是CSDN,我總結(jié)知識的地方,歡迎來

    2024年02月10日
    瀏覽(32)
  • Spring Cloud【SkyWalking服務環(huán)境搭建、微服務接入SkyWalking探針、Docker搭建Elasticsearch環(huán)境 】(十四)

    Spring Cloud【SkyWalking服務環(huán)境搭建、微服務接入SkyWalking探針、Docker搭建Elasticsearch環(huán)境 】(十四)

    ? 目錄 分布式請求鏈路追蹤_SkyWalking服務環(huán)境搭建

    2024年02月07日
    瀏覽(23)
  • SkyWalking鏈路追蹤-搭建-spring-boot-cloud-單機環(huán)境 之《10 分鐘快速搭建 SkyWalking 服務》

    SkyWalking鏈路追蹤-搭建-spring-boot-cloud-單機環(huán)境 之《10 分鐘快速搭建 SkyWalking 服務》

    首先了解一下單機環(huán)境 第一步,搭建一個 Elasticsearch 服務。 第二步,下載 SkyWalking 軟件包。 第三步,搭建一個 SkyWalking OAP 服務。 第四步,啟動一個 Spring Boot 應用,并配置 SkyWalking Agent。 第五步,搭建一個 SkyWalking UI 服務。 準備工作,準備一個docker網(wǎng)絡組,網(wǎng)絡組的名字為

    2024年02月15日
    瀏覽(24)
  • 【微服務 從0開始 】Spring Cloud 配置文件

    【微服務 從0開始 】Spring Cloud 配置文件

    ??這里是【秒懂·云原生】,關注我學習云原生不迷路 ??如果對你有幫助,給博主一個免費的點贊以示鼓勵 歡迎各位??點贊??評論收藏?? 【秒懂·云原生】 目前主要更新微服務,一起學習一起進步。 主要介紹Spring Cloud 配置文件 在創(chuàng)建Spring Boot項目時,會默認在resourc

    2024年02月02日
    瀏覽(19)
  • 從零開始搭建企業(yè)管理系統(tǒng)(三):集成 Spring Data Jpa

    從零開始搭建企業(yè)管理系統(tǒng)(三):集成 Spring Data Jpa

    JPA(Java Persistence API)是 Java 標準中的一套 ORM 規(guī)范(提供了一些編程的 API 接口,具體實現(xiàn)由 ORM 廠商實現(xiàn),如Hiernate、TopLink 、Eclipselink等都是 JPA 的具體實現(xiàn)),借助 JPA 技術可以通過注解或者 XML 描述【對象-關系表】之間的映射關系,并將實體對象持久化到數(shù)據(jù)庫中(即

    2024年02月04日
    瀏覽(18)
  • 【Spring教程29】Spring框架實戰(zhàn):從零開始學習SpringMVC 之 服務器響應知識全面詳解

    【Spring教程29】Spring框架實戰(zhàn):從零開始學習SpringMVC 之 服務器響應知識全面詳解

    歡迎大家回到《Java教程之Spring30天快速入門》,本教程所有示例均基于Maven實現(xiàn),如果您對Maven還很陌生,請移步本人的博文《如何在windows11下安裝Maven并配置以及 IDEA配置Maven環(huán)境》,本文的上一篇為《SpringMVC 之 請求與請求參數(shù)詳解》 上一節(jié)我們說了SpringMvc請求知識,這一節(jié)

    2024年02月03日
    瀏覽(32)
  • 『從零開始』擁有一臺服務器并搭建java開發(fā)環(huán)境

    『從零開始』擁有一臺服務器并搭建java開發(fā)環(huán)境

    ??各位小伙伴們大家好,歡迎來到這個小扎扎的博客,本篇博客中將會和大家分享如何購買甚至白嫖一臺屬于你自己的服務器(當然這臺服務器會有時間限制),服務器到手之后就是服務器的設置以及常規(guī)java開發(fā)的環(huán)境搭建,以上內(nèi)容在本篇博客中都會作詳細講解 ??首

    2024年01月19日
    瀏覽(35)
  • Nacos 單機集群搭建及常用生產(chǎn)環(huán)境配置 | Spring Cloud 3

    Nacos /nɑ:k??s/ 是 Dynamic Naming and Configuration Service 的首字母簡稱,一個更易于構(gòu)建云原生應用的動態(tài)服務發(fā)現(xiàn)、配置管理和服務管理平臺。 Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務。 Nacos 提供了一組簡單易用的特性集,幫助您快速實現(xiàn)動態(tài)服務發(fā)現(xiàn)、服務配置、服務元數(shù)據(jù)

    2024年02月03日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包