<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] ## 1. 構建 Project 父工程 ### **1.1 創建一個空工程(microservice-cloud)** 1. 新建項目 ![](https://img.kancloud.cn/50/56/5056a94128f354c97b9a6c247d2dc5c5_983x461.png) 2. 選擇空項目 ![](https://img.kancloud.cn/05/9b/059b83485e156456be0ceb8ea94e4247_976x545.png) 3. 點擊finish ![](https://img.kancloud.cn/3d/5b/3d5b723202f0ed5b3f36a82ca6071aeb_734x605.png) ### **1.2 創建父工程** 1. 在空項目下創建父工程模塊 ![](https://img.kancloud.cn/f5/16/f516012c370236c8d3575cb8102f79cb_732x306.png) 2. 選擇maven項目 ![](https://img.kancloud.cn/49/57/4957eaacc51fde2dc723eb6420b48d2e_734x598.png) ![](https://img.kancloud.cn/19/88/198835ce951a55f2366893ed119b05f8_521x260.png) 3. 刪除 src 目錄及子目錄,在pom.xml 中手動指定為 pom 類型(maven聚合), 如下所示: ![](https://img.kancloud.cn/a6/bc/a6bcd49d77c9d82e1e6263cd38333b85_893x429.png)、 4. 引入相關依賴 ~~~ <!-- spring boot 采用 2.0.7 版本 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.7.RELEASE</version> <relativePath/> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <junit.version>4.12</junit.version> <!-- spring cloud 采用 Finchley.SR2 版本 --> <spring-cloud.version>Finchley.SR2</spring-cloud.version> </properties> <!--依賴聲明--> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <!--maven不支持多繼承,使用import來依賴管理配置--> <scope>import</scope> </dependency> <!--導入 mybatis 啟動器--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <!--druid數據源--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.12</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.13</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies> </dependencyManagement> ~~~ ### 1.3 創建公共模塊 1. 在父模塊下創建一個公共模塊(maven項目) ![](https://img.kancloud.cn/b3/b3/b3b3884e7ab4c910d63f48139ab0e770_709x521.png) 2 . 選擇maven項目 ![](https://img.kancloud.cn/14/02/1402d4f1bd9a8ff8fb036fc12d099af4_734x598.png) ![](https://img.kancloud.cn/f5/7f/f57f6481192f3dc97a5947accf043a49_740x585.png) 選擇和父工程同級目錄 ![](https://img.kancloud.cn/4a/74/4a7477279a924094f1a7bf9ee5f986ed_734x598.png) ![](https://img.kancloud.cn/aa/64/aa6485e41c6e675450ab09edb3f5525c_387x221.png) 3. 提供實體類用于測試 ~~~ package com.tuna.springcloud.common.entities; import java.io.Serializable; public class Product implements Serializable { private Long pid; //主鍵 private String productName; //產品名稱 // 來自那個數據庫,因為微服務架構可以一個服務對應一個數據庫,同一個信息被存儲到不同數據庫 private String dbSource; public Product() { } public Product(String productName) { this.productName = productName; } public Product(Long pid, String productName, String dbSource) { this.pid = pid; this.productName = productName; this.dbSource = dbSource; } ... ~~~ ### **1.4 構建服務提供者** 1. 同上創建一個服務提供者模塊 `microservice-cloud-server` ![](https://img.kancloud.cn/08/06/0806a41b4ec90c19a5cc3d4145e488c6_383x265.png) 2. 修改pom ``` <?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>microservice-cloud-01</artifactId> <groupId>com.mengxuegu.springcloud</groupId> <version>1.0-SNAPSHOT</version> <relativePath>../microservice-cloud-01/pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>microservice-cloud-03-provider-product-8001</artifactId> <dependencies> <dependency> <groupId>com.tuna.springcloud</groupId> <artifactId>microservice-common</artifactId> <version>${project.version}</version> </dependency> <!--springboot web啟動器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- mybatis 啟動器--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> </dependency> </dependencies> </project> ``` **3. 配置 application.yml 文件** ~~~ server: port: 8001 spring: application: name: microservice-product #這個很重要,這在以后的服務與服務之間相互調用一般都是根據這個name datasource: type: com.alibaba.druid.pool.DruidDataSource # 當前數據源操作類型 driver-class-name: com.mysql.cj.jdbc.Driver # mysql驅動包 url: jdbc:mysql://192.168.56.10:3306/springcloud_db01?serverTimezone=GMT%2B8 # 數據庫名稱 username: springcloud password: tuna dbcp2: min-idle: 5 # 數據庫連接池的最小維持連接數 initial-size: 5 # 初始化連接數 max-total: 5 # 最大連接數 max-wait-millis: 150 # 等待連接獲取的最大超時時間 mybatis: configuration: map-underscore-to-camel-case: true type-aliases-package: com.tuna.springcloud.common.entities ~~~ **4. 運行 MySQL 數據庫腳本 ** ``` DROP DATABASE IF EXISTS springcloud\_db01; CREATE DATABASE springcloud\_db01 CHARACTER SET UTF8; USE springcloud\_db01; CREATE TABLE product ( pid BIGINT NOT NULL PRIMARY KEY AUTO\_INCREMENT, product\_name VARCHAR(50), db\_source VARCHAR(50) ); INSERT INTO product(product\_name,db\_source) VALUES('格力空調',DATABASE()); INSERT INTO product(product\_name,db\_source) VALUES('海爾冰箱',DATABASE()); INSERT INTO product(product\_name,db\_source) VALUES('小短裙',DATABASE()); INSERT INTO product(product\_name,db\_source) VALUES('羽絨服',DATABASE()); INSERT INTO product(product\_name,db\_source) VALUES('韓版休閑鞋',DATABASE()); INSERT INTO product(product\_name,db\_source) VALUES('高貴鞋',DATABASE()); SELECT \* FROM product; ``` 5. 創建mapper和xml ~~~ package com.tuna.springcloud.server.mapper; import com.tuna.springcloud.common.entities.Product; import java.util.List; public interface ProductMapper { Product findById(Long pid); List<Product> findAll(); boolean addProduct(Product product); } ~~~ 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.tuna.springcloud.server.mapper.ProductMapper"> <select id="findById" resultType="Product" parameterType="Long"> select pid, product_name, db_source from product where pid=#{pid}; </select> <select id="findAll" resultType="Product"> select pid, product_name, db_source from product; </select> <insert id="addProduct" parameterType="Product"> INSERT INTO product(product_name, db_source) VALUES(#{productName}, DATABASE()); </insert> </mapper> ~~~ ## 2. 消費者 消費者restTemplate發送http請求 ~~~ @RequestMapping(value = "/consumer/product/get/{id}") public Product get(@PathVariable("id") Long id) { return restTemplate.getForObject(REST_URL_PREFIX + "/product/get/" + id, Product.class); } ~~~ **現在還是 ip + port 去請求服務**,訪問前端地址得到如下 ![](https://img.kancloud.cn/76/30/76301794971845a1bef7a87f04e75626_462x134.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看