最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud應(yīng)用idea實(shí)現(xiàn)可相互調(diào)用的多模塊程序詳解

 更新時間:2022年07月19日 09:39:41   作者:扎哇太棗糕  
IDEA 全稱 IntelliJ IDEA,是java編程語言的集成開發(fā)環(huán)境。IntelliJ在業(yè)界被公認(rèn)為最好的Java開發(fā)工具,尤其在智能代碼助手、代碼自動提示、重構(gòu)、JavaEE支持、各類版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創(chuàng)新的GUI設(shè)計(jì)等方面的功能可以說是超常的

版本選擇

  學(xué)習(xí)spring cloud之前需要有一定的spring boot基礎(chǔ),按我現(xiàn)階段的了解就是,spring boot屬于是做業(yè)務(wù)開發(fā)的,所謂的微服務(wù)就是將一個大的項(xiàng)目分為是很多的使用spring boot進(jìn)行開發(fā)的單體項(xiàng)目。當(dāng)然如果沒有后續(xù)的話,那么這一個項(xiàng)目也就成了一盤散沙,沒有辦法真正的實(shí)現(xiàn)它的作用,于是就需要使用spring cloud將所有的spring boot單體項(xiàng)目整合起來,形成一個完整的項(xiàng)目,從而發(fā)揮它最大的作用。

  既然在一個項(xiàng)目中涉及到了兩種框架技術(shù)的使用,那么就需要考慮這兩種框架會不會產(chǎn)生沖突。那么我們應(yīng)該如何查看這兩種框架的版本適用呢?我們可以參考spring cloud官網(wǎng)給出的答案,這個文檔是實(shí)時更新的,不用擔(dān)心過時的問題。https://spring.io/projects/spring-cloud,打開鏈接直接向下劃即可找到

  官網(wǎng)在這里只是提供了一個相對模糊的版本對應(yīng),想要更加具體的版本對應(yīng)可以參考以下網(wǎng)站https://start.spring.io/actuator/info,將網(wǎng)站返回的JSON字符串經(jīng)過工具的轉(zhuǎn)換即可發(fā)現(xiàn)其中的版本對應(yīng)

  當(dāng)然,上述兩種方法都是在boot和cloud技術(shù)版本選擇時的一種參考,真正確定下來還是要看cloud官網(wǎng)上面的參考doc文檔,點(diǎn)進(jìn)去的Supported Boot Version才是最終敲定的依據(jù)

技術(shù)選型

  前面講到spring cloud是一個微服務(wù)的框架,既然是微服務(wù)就說明我們需要使用技術(shù)控制各個單體服務(wù)之間的通信,還有不同服務(wù)的調(diào)用等。于是就涉及到了這些不同功能的技術(shù)選型,我們都知道技術(shù)是在不停迭代更新的,有很多的技術(shù)停更淘汰,與此同時也有很多的技術(shù)更新迭代出來,于是我們應(yīng)該知道不同的功能應(yīng)該選用哪種可行的技術(shù)。

服務(wù)注冊中心:

  • Eureka
  • Zookeeper
  • Consul
  • Nacos √

服務(wù)調(diào)用:

  • Ribbon
  • LoadBalancer
  • Feign
  • OpenFeign √

服務(wù)降級:

  • Hystrix
  • Resilience4j
  • Sentinel √

服務(wù)網(wǎng)關(guān):

  • Zuul
  • Zuul2
  • Gateway √

服務(wù)配置:

  • Config
  • Nacos √

服務(wù)總線:

  • Bus
  • Nacos √

spring boot單體模塊的搭建

創(chuàng)建父工程

project項(xiàng)目創(chuàng)建

修改項(xiàng)目名 -> 修改項(xiàng)目存儲地址 -> 修改maven配置 -> finished

配置字符編碼格式

配置注解生效激活

配置項(xiàng)目的Java的版本

父工程的pom文件

  父pom中的并不會引入相應(yīng)的jar包,而是定義了版本號供子模塊使用,只有子模塊導(dǎo)入依賴坐標(biāo)的時候(如果父pom中有,可以不指定版本號)才會引入相應(yīng)的jar包

<?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">
    <modelVersion>4.0.0</modelVersion>
    <groupId>項(xiàng)目的組id</groupId>
    <artifactId>項(xiàng)目名稱</artifactId>
    <version>項(xiàng)目版本</version>
    <packaging>pom</packaging>
    <!--統(tǒng)一管理設(shè)置jar包的版本-->
    <properties>
        ..........
    </properties>
    <!--依賴傳遞:父pom文件中的依賴版本會被子模塊自動繼承,除非子模塊中自己聲明版本,否則就使用父pom的版本,同理,父pom的依賴版本升級,子模塊也會升級到相應(yīng)的版本-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                .......
            </dependency>
				......
            <dependency>
                .......
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

創(chuàng)建子模塊

  在父工程上右鍵,新建一個model

創(chuàng)建之后需要配置子模塊的配置文件,也就是子模塊的resources文件夾下的application.yml文件,主要就是配置端口號和數(shù)據(jù)庫相關(guān)

server:
  port: 8001

spring:
  application:
    name: cloud-payment-service
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: org.gjt.mm.mysql.Driver
    url: …… ……… ………
    username: …… ……
    password: …… …… ……
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.xiaochen.springcloud.entities

然后就是創(chuàng)建相應(yīng)的mapper、service、serviceImpl、映射文件

RestTemplate

  Rest Template就是一種對HTTPClient的封裝,是Spring提供的用于訪問Rest服務(wù)的客戶端模板工具集,其內(nèi)部提供了多種便捷的用于訪問遠(yuǎn)程http服務(wù)的方法,主要就是用于實(shí)現(xiàn)微服務(wù)項(xiàng)目中幾個服務(wù)之間的相互調(diào)用。

使用步驟

使用配置類向容器中注入RestTemplate對象

/**
 * @ClassName: ApplicationContextConfig
 * @Description: 程序配置類
 * @author: chenhao
 * @date: 2022/7/17
 */
@Configuration
public class ApplicationContextConfig {
    @Bean
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }
}

  在需要使用它的地方用@Resource注入對象,然后就是調(diào)用api實(shí)現(xiàn)相應(yīng)的功能,全部api參考以下鏈接:鏈接

系統(tǒng)重構(gòu)(子模塊間重復(fù)代碼的抽取)

  創(chuàng)建一個公共模塊,將公共的代碼和依賴全部抽取到這個公共模塊中,然后別的模塊如果想要使用公共模塊的代碼,就必須先對公共模塊的maven進(jìn)行clean和install,然后在pom文件中導(dǎo)入這個公共模塊的依賴即可使用公共部分代碼

到此這篇關(guān)于SpringCloud應(yīng)用idea實(shí)現(xiàn)可相互調(diào)用的多模塊程序詳解的文章就介紹到這了,更多相關(guān)SpringCloud多模塊程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringMVC中的JSR303與攔截器的使用方法

    SpringMVC中的JSR303與攔截器的使用方法

    JSR303是Java中的一個標(biāo)準(zhǔn),用于驗(yàn)證和校驗(yàn)JavaBean對象的屬性的合法性,本文主要介紹了SpringMVC中的JSR303與攔截器的使用方法,感興趣的可以了解一下
    2023-10-10
  • springboot整合Atomikos的示例詳解

    springboot整合Atomikos的示例詳解

    這篇文章主要為大家詳細(xì)介紹了幾種分布式事務(wù)的解決方案的兩階段提交Atomikos,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2024-11-11
  • Java使用CompletableFuture進(jìn)行非阻塞IO詳解

    Java使用CompletableFuture進(jìn)行非阻塞IO詳解

    這篇文章主要介紹了Java使用CompletableFuture進(jìn)行非阻塞IO詳解,CompletableFuture是Java中的一個類,用于支持異步編程和處理異步任務(wù)的結(jié)果,它提供了一種方便的方式來處理異步操作,并允許我們以非阻塞的方式執(zhí)行任務(wù),需要的朋友可以參考下
    2023-09-09
  • ssm開發(fā)使用redis作為緩存的使用步驟

    ssm開發(fā)使用redis作為緩存的使用步驟

    在開發(fā)中經(jīng)常遇到大量的重復(fù)的,高并發(fā)的查詢,此時可以使用redis緩存。這篇文章主要介紹了ssm開發(fā)使用redis作為緩存的使用步驟,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Java 反射機(jī)制的實(shí)例詳解

    Java 反射機(jī)制的實(shí)例詳解

    這篇文章主要介紹了Java 反射機(jī)制的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握反射機(jī)制,需要的朋友可以參考下
    2017-10-10
  • Java數(shù)組轉(zhuǎn)換為List的四種方式

    Java數(shù)組轉(zhuǎn)換為List的四種方式

    這篇文章主要介紹了Java開發(fā)技巧數(shù)組轉(zhuǎn)List的四種方式總結(jié),每種方式結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • 遠(yuǎn)程調(diào)用@FeignClient注解屬性使用詳解

    遠(yuǎn)程調(diào)用@FeignClient注解屬性使用詳解

    這篇文章主要為大家介紹了遠(yuǎn)程調(diào)用@FeignClient注解屬性使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • java中的常用集合類整理

    java中的常用集合類整理

    在本篇文章里小編給大家整理的是關(guān)于java中的常用集合類的相關(guān)知識點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-12-12
  • Java Map如何根據(jù)key取value以及不指定key取出所有的value

    Java Map如何根據(jù)key取value以及不指定key取出所有的value

    這篇文章主要介紹了Java Map如何根據(jù)key取value以及不指定key取出所有的value,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 了解JAVA Future類

    了解JAVA Future類

    Future是并發(fā)編程中的一種設(shè)計(jì)模式,F(xiàn)uture它代表一個異步計(jì)算的結(jié)果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,下面小編和大家來一起學(xué)習(xí)一下吧
    2019-06-06

最新評論

高碑店市| 怀化市| 仁化县| 乌什县| 盘山县| 襄城县| 大理市| 萨嘎县| 盖州市| 凤台县| 巴南区| 蓝山县| 吉林省| 北辰区| 兰坪| 固安县| 运城市| 乐安县| 诸城市| 南康市| 炉霍县| 茌平县| 利川市| 连城县| 察隅县| 吴川市| 斗六市| 江陵县| 通辽市| 内江市| 遂昌县| 赤峰市| 余江县| 宜君县| 专栏| 咸阳市| 大兴区| 方城县| 阳西县| 西青区| 上犹县|