国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
##建立公共介面模組" >dubbo整合nacos案例##建立公共介面模組
dubbo整合nacos案例" >dubbo整合nacos案例
創(chuàng)建公共接口模塊" >創(chuàng)建公共接口模塊
創(chuàng)建服務(wù)提供者模塊" >創(chuàng)建服務(wù)提供者模塊
創(chuàng)建服務(wù)消費者模塊" >創(chuàng)建服務(wù)消費者模塊
首頁 Java java教程 SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

Aug 15, 2023 pm 04:49 PM
nacos dubbo springboot

本文來寫個詳細(xì)的例子來說下dubbo nacos Spring Boot開發(fā)實戰(zhàn)。本文不會講述太多的理論的知識,會寫一個最簡單的例子來說明dubbo如何與nacos整合,快速建構(gòu)開發(fā)環(huán)境。

文章目錄

  • 環(huán)境準(zhǔn)備
    • dubbo簡介
    • Nacos環(huán)境準(zhǔn)備
    • Nacos與dubbo整合
  • ##專案管理規(guī)格

dubbo整合nacos案例##建立公共介面模組

建立服務(wù)提供者模組建立服務(wù)消費者模組

##服務(wù)呼叫測試
SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

#本文小結(jié)###############環(huán)境準(zhǔn)備########################################## ####dubbo簡介###############dubbo核心節(jié)點之間的呼叫關(guān)係##############節(jié)點說明###
SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

呼叫關(guān)係說明

  • #服務(wù)容器負(fù)責(zé)啟動,加載,運行服務(wù)提供者。
  • 服務(wù)提供者在啟動時,向註冊中心註冊自己提供的服務(wù)。
  • 服務(wù)消費者在啟動時,向註冊中心訂閱自己所需的服務(wù)。
  • 註冊中心傳回服務(wù)提供者位址清單給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者。
  • 服務(wù)消費者,從提供者位址清單中,基於軟負(fù)載平衡演算法,選一臺提供者進(jìn)行調(diào)用,如果調(diào)用失敗,再選另一臺調(diào)用。
  • 服務(wù)消費者和提供者,在記憶體中累積呼叫次數(shù)和呼叫時間,定時每分鐘發(fā)送一次統(tǒng)計資料到監(jiān)控中心。

Nacos環(huán)境準(zhǔn)備

#啟動nacos,本文使用的是nacos1 .4.3版本

SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

開啟nacos的控制面板

SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

Nacos與dubbo整合

為了方便大家理解,這裡寫出對應(yīng)的生產(chǎn)方、消費方Demo 代碼,以及使用的註冊中心。

SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

專案管理規(guī)格

#springboot,netflix和cloud alibaba之間有版本之間的對應(yīng)關(guān)係,本文所選的版本如下

SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

dubbo和cloud alibaba之間有版本之間的對應(yīng)關(guān)係,本文選擇的版本如下

SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

為了後續(xù)方便使用SpringCloud Alibaba進(jìn)行開發(fā),首先建立一個pom類型的父項目,主要用於專案技術(shù)堆疊版本管理,建立一個maven項目,名稱為spring-cloud-alibaba-example,去除src文件,修改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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>ah.wideth</groupId>
    <artifactId>spring-cloud-alibaba-example</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.12.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <packaging>pom</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR12</spring-cloud.version>
        <com-alibaba-cloud.version>2.2.7.RELEASE</com-alibaba-cloud.version>
    </properties>

    <!--對項目版本進(jìn)行管理-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${com-alibaba-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

後續(xù)創(chuàng)建的項目都放到此目錄下,只需要聲明groupId和artifactId,會自動引用父項目spring-cloud-alibaba-example的版本。與其說是父項目,不如說是根項目: 因為下面每學(xué)習(xí)一個新的技術(shù),就會新建一個真正的父項目,而在對應(yīng)的父項目下面又會創(chuàng)建許多的子項目

SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

dubbo整合nacos案例

本文的案例是在上文nacos開發(fā)實例的基礎(chǔ)之上繼續(xù)編寫的。下面開始建立我們的項目,貼上我的目錄結(jié)構(gòu)。

SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

模組說明

  • public-api公共接口模塊(接口),供服務(wù)消費者和服務(wù)提供者調(diào)用。
  • dubbo-provider服務(wù)提供者模塊(接口實現(xiàn)類),引入了public-api模塊
  • dubbo-consumer服務(wù)消費者模塊(controller),引入了public-api模塊
  • 消費者和提供者通過公共接口模塊進(jìn)行rpc遠(yuǎn)程調(diào)用

父工程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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <artifactId>spring-cloud-alibaba-example</artifactId>
        <groupId>ah.wideth</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <modules>
        <module>public-api</module>
        <module>dubbo-provider</module>
        <module>dubbo-consumer</module>
    </modules>

    <artifactId>dubbo-nacos-example</artifactId>
    <name>dubbo-nacos-example</name>
    <description>duboo與nacos整合的父工程</description>
    <packaging>pom</packaging>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <dubbo.version>2.7.13</dubbo.version>
        <nacos.version>1.4.1</nacos.version>
    </properties>


    <dependencies>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <!--解決nacos-client2.0報錯的問題-->
            <exclusions>
                <exclusion>
                    <artifactId>nacos-client</artifactId>
                    <groupId>com.alibaba.nacos</groupId>
                </exclusion>
            </exclusions>
        </dependency>


        <!--dubbo相關(guān)-->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>${dubbo.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-registry-nacos</artifactId>
            <version>${dubbo.version}</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>${nacos.version}</version>
        </dependency>

        <!-- 解決dubbo2.7.13jar包沖突問題-->
        <dependency>
            <groupId>com.alibaba.spring</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>1.0.11</version>
        </dependency>

        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
            <version>${dubbo.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        
    </dependencies>

</project>
SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

創(chuàng)建公共接口模塊

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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <artifactId>dubbo-nacos-example</artifactId>
        <groupId>ah.wideth</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>public-api</artifactId>
    <name>public-api</name>
    <description>api公用接口</description>
    <packaging>jar</packaging>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

公共接口模塊里面只有一個接口,沒有配置文件,打jar包

package ah.wideth.api;

/**
 * 讓生產(chǎn)者和服務(wù)消
 * 費者來使用這個接口
 */
public interface InfoService {

    String getInfo();
}
SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

創(chuàng)建服務(wù)提供者模塊

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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <artifactId>dubbo-nacos-example</artifactId>
        <groupId>ah.wideth</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>dubbo-provider</artifactId>
    <name>dubbo-provider</name>
    <description>dubbo的服務(wù)提供者模塊</description>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--引入公共接口模塊-->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>public-api</artifactId>
            <version>${project.version}</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.yml配置文件

server:
  port: 8180

spring:
  application:
    name: dubbo-provider

dubbo:
  registry:
    address: nacos://127.0.0.1:8848 #注冊地址
  application:
    name: dubbo-provider #應(yīng)用名
  protocol:
    name: dubbo #dubbo協(xié)議
    port: 20880 #協(xié)議端口
  scan:
    base-packages: ah.wideth.impl #掃包范圍
  provider:
    timeout: 30000 #超時時間

接口實現(xiàn)類,該類實現(xiàn)了上面我們在公共接口模塊創(chuàng)建的接口

package ah.wideth.impl;

import ah.wideth.api.InfoService;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Component;


// dubbo提供的Service注解,用于聲明對外暴露服務(wù)
// Service引入的是org.apache.dubbo.config.annotation.Service包
@Component
@DubboService
public class InfoServiceImpl implements InfoService {

    @Override
    public String getInfo() {

        return "hello,這里是dubbo-provider模塊!";
    }
}

服務(wù)提供者啟動類

package ah.wideth;

import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;


@EnableDubbo
@EnableDiscoveryClient
@SpringBootApplication
public class DubboProviderApplication {

    public static void main(String[] args) {

        SpringApplication.run(DubboProviderApplication.class, args);
        System.out.println("dubbo服務(wù)提供者8180啟動了");
    }

}

創(chuàng)建服務(wù)消費者模塊

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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <artifactId>dubbo-nacos-example</artifactId>
        <groupId>ah.wideth</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>dubbo-consumer</artifactId>
    <name>dubbo-consumer</name>
    <description>dubbo的服務(wù)消費者模塊</description>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--引入公共接口模塊-->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>public-api</artifactId>
            <version>${project.version}</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>

    </build>
</project>

application.yml配置文件

server:
  port: 8181

spring:
  application:
    name: dubbo-consumer

dubbo:
  registry:
    address: nacos://127.0.0.1:8848 #注冊地址
  application:
    name: dubbo-consumer #應(yīng)用名
  consumer:
    timeout: 30000 #超時時間

controller,調(diào)用公共接口模塊創(chuàng)建的接口

package ah.wideth.controller;

import ah.wideth.api.InfoService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class InfoController {

    //dumbo提供的Reference注解,用于調(diào)用遠(yuǎn)程服務(wù)
    @DubboReference(check = false)
    private InfoService infoService;

    @GetMapping("/getInfo")
    public String getInfo(){

        return infoService.getInfo();
    }
}

服務(wù)消費者啟動類

package ah.wideth;

import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;


@EnableDubbo
@EnableDiscoveryClient
@SpringBootApplication
public class DubboConsumerApplication {

    public static void main(String[] args) {

        SpringApplication.run(DubboConsumerApplication.class, args);
        System.out.println("dubbo服務(wù)消費者8181啟動了");
    }

}

服務(wù)調(diào)用測試

打開Nacos控制面板查看注冊中心中的服務(wù)

SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

啟動nacos,啟動服務(wù)提供者和服務(wù)消費者,調(diào)用服務(wù)消費者的getInfo方法,服務(wù)提供者會返回結(jié)果

SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程

本文小結(jié)

本文編寫了一個例子來對dubbo整合nacos進(jìn)行服務(wù)調(diào)用的例子,不過要注意jar包的沖突問題。

以上是SpringBoot+Dubbo+Nacos 開發(fā)實戰(zhàn)教程的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276
Springboot怎麼整合Jasypt實現(xiàn)設(shè)定檔加密 Springboot怎麼整合Jasypt實現(xiàn)設(shè)定檔加密 Jun 01, 2023 am 08:55 AM

Jasypt介紹Jasypt是一個java庫,它允許開發(fā)員以最少的努力為他/她的專案添加基本的加密功能,並且不需要對加密工作原理有深入的了解用於單向和雙向加密的高安全性、基於標(biāo)準(zhǔn)的加密技術(shù)。加密密碼,文本,數(shù)字,二進(jìn)位檔案...適合整合到基於Spring的應(yīng)用程式中,開放API,用於任何JCE提供者...添加如下依賴:com.github.ulisesbocchiojasypt-spring-boot-starter2. 1.1Jasypt好處保護(hù)我們的系統(tǒng)安全,即使程式碼洩露,也可以保證資料來源的

怎麼在SpringBoot中使用Redis實現(xiàn)分散式鎖 怎麼在SpringBoot中使用Redis實現(xiàn)分散式鎖 Jun 03, 2023 am 08:16 AM

一、Redis實現(xiàn)分散式鎖原理為什麼需要分散式鎖在聊分散式鎖之前,有必要先解釋一下,為什麼需要分散式鎖。與分散式鎖相對就的是單機(jī)鎖,我們在寫多執(zhí)行緒程式時,避免同時操作一個共享變數(shù)產(chǎn)生資料問題,通常會使用一把鎖來互斥以保證共享變數(shù)的正確性,其使用範(fàn)圍是在同一個進(jìn)程中。如果換做是多個進(jìn)程,需要同時操作一個共享資源,如何互斥?現(xiàn)在的業(yè)務(wù)應(yīng)用通常是微服務(wù)架構(gòu),這也意味著一個應(yīng)用會部署多個進(jìn)程,多個進(jìn)程如果需要修改MySQL中的同一行記錄,為了避免操作亂序?qū)е麦v數(shù)據(jù),此時就需要引入分佈式鎖了。想要實現(xiàn)分

SpringBoot怎麼自訂Redis實作快取序列化 SpringBoot怎麼自訂Redis實作快取序列化 Jun 03, 2023 am 11:32 AM

1.自訂RedisTemplate1.1、RedisAPI預(yù)設(shè)序列化機(jī)制基於API的Redis快取實作是使用RedisTemplate範(fàn)本進(jìn)行資料快取操作的,這裡開啟RedisTemplate類,查看該類別的源碼資訊publicclassRedisTemplateextendsRedisAccessorimplementsRedisOperations,BeanClassLoaderAware{//聲明了value的各種序列化方式,初始值為空@NullableprivateRedisSe

springboot讀取檔案打成jar包後存取不到怎麼解決 springboot讀取檔案打成jar包後存取不到怎麼解決 Jun 03, 2023 pm 04:38 PM

springboot讀取文件,打成jar包後訪問不到最新開發(fā)出現(xiàn)一種情況,springboot打成jar包後讀取不到文件,原因是打包之後,文件的虛擬路徑是無效的,只能通過流去讀取。文件在resources下publicvoidtest(){Listnames=newArrayList();InputStreamReaderread=null;try{ClassPathResourceresource=newClassPathResource("name.txt");Input

Springboot+Mybatis-plus不使用SQL語句進(jìn)行多表新增怎麼實現(xiàn) Springboot+Mybatis-plus不使用SQL語句進(jìn)行多表新增怎麼實現(xiàn) Jun 02, 2023 am 11:07 AM

在Springboot+Mybatis-plus不使用SQL語句進(jìn)行多表添加操作我所遇到的問題準(zhǔn)備工作在測試環(huán)境下模擬思維分解一下:創(chuàng)建出一個帶有參數(shù)的BrandDTO對像模擬對後臺傳遞參數(shù)我所遇到的問題我們都知道,在我們使用Mybatis-plus中進(jìn)行多表操作是極其困難的,如果你不使用Mybatis-plus-join這一類的工具,你只能去配置對應(yīng)的Mapper.xml文件,配置又臭又長的ResultMap,然後再寫對應(yīng)的sql語句,這種方法雖然看上去很麻煩,但具有很高的靈活性,可以讓我們

SpringBoot與SpringMVC的比較及差別分析 SpringBoot與SpringMVC的比較及差別分析 Dec 29, 2023 am 11:02 AM

SpringBoot和SpringMVC都是Java開發(fā)中常用的框架,但它們之間有一些明顯的差異。本文將探究這兩個框架的特點和用途,並對它們的差異進(jìn)行比較。首先,我們來了解一下SpringBoot。 SpringBoot是由Pivotal團(tuán)隊開發(fā)的,它旨在簡化基於Spring框架的應(yīng)用程式的建立和部署。它提供了一種快速、輕量級的方式來建立獨立的、可執(zhí)行

SpringBoot中的@Import註解怎麼使用 SpringBoot中的@Import註解怎麼使用 May 31, 2023 pm 06:25 PM

一、@Import引入普通類別@Import引入普通的類別可以幫助我們把普通的類別定義為Bean。 @Import可以加入在@SpringBootApplication(啟動類別)、@Configuration(配置類別)、@Component(組件類別)對應(yīng)的類別上。注意:@RestController、@Service、@Repository都屬於@Component@SpringBootApplication@Import(ImportBean.class)//透過@Import註解把ImportBean

springboot怎麼取得application.yml裡值 springboot怎麼取得application.yml裡值 Jun 03, 2023 pm 06:43 PM

在專案中,很多時候需要用到一些配置信息,這些信息在測試環(huán)境和生產(chǎn)環(huán)境下可能會有不同的配置,後面根據(jù)實際業(yè)務(wù)情況有可能還需要再做修改。我們不能將這些設(shè)定在程式碼中寫死,最好是寫到設(shè)定檔中,例如可以把這些資訊寫到application.yml檔案中。那麼,怎麼在程式碼裡取得或使用這個位址呢?有2個方法。方法一:我們可以透過@Value註解的${key}即可取得設(shè)定檔(application.yml)中和key對應(yīng)的value值,這個方法適用於微服務(wù)比較少的情形方法二:在實際專案中,遇到業(yè)務(wù)繁瑣,邏

See all articles