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

SpringBoot3.x整合Nacos和Redis全過程

 更新時(shí)間:2025年12月30日 09:08:22   作者:習(xí)慣向左  
本文詳細(xì)介紹了使用IntelliJ IDEA創(chuàng)建Spring Boot項(xiàng)目并配置Nacos、Redis和日期類LocalDateTime的步驟,還展示了如何使用Docker安裝Nacos并進(jìn)行基本的測試

1、安裝java17

此步驟省略

安裝完成后,查看

2、通過 idea 初始化向?qū)?chuàng)建springboot項(xiàng)目

然后點(diǎn)擊Create即可創(chuàng)建成功

3、配置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>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.xgxz.boot</groupId>
    <artifactId>spring-boot-3-nacos</artifactId>
    <version>1.0</version>

    <name>spring-boot-3-nacos</name>
    <description>spring-boot-3-nacos</description>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <java.version>17</java.version>
        <spring.cloud.version>2022.0.3</spring.cloud.version>
        <spring.cloud.alibaba.version>2022.0.0.0-RC2</spring.cloud.alibaba.version>
    </properties>

    <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>${spring.cloud.alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>

        <!-- 使用bootstrap.yml必須依賴此類 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

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

        <!--服務(wù)發(fā)現(xiàn)-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
  
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
            <version>2.13.1</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

關(guān)于選擇nacos版本,參考

地址:https://github.com/alibaba/spring-cloud-alibaba/blob/2022.x/README-zh.md

4、配置yml文件

server:
  port: 8868

spring:
  application:
    name: spring-boot-nacox

  data:
    redis:
      host: 192.168.56.10
      port: 6379
      database: 2
      #    password: 123456 #默認(rèn)為空
      timeout: 3000ms
      lettuce:
        pool:
          max-active: 20  # 最大連接數(shù),負(fù)值表示沒有限制,默認(rèn)8
          max-wait: -1    # 最大阻塞等待時(shí)間,負(fù)值表示沒限制,默認(rèn)-1
          max-idle: 8     # 最大空閑連接,默認(rèn)8
          min-idle: 0     # 最小空閑連接,默認(rèn)0

  cloud:
    nacos:
      discovery:
        server-addr: 192.168.56.10:8848

5、配置主啟動(dòng)類

/**
 * ClassName: SpringBootQuartzApplication
 * Package: com.xgxz.boot
 * Description:
 *
 * @Author: 習(xí)慣向左
 * @Create: 2023/7/6 - 16:59
 * @Version: v1.0
 */
@Slf4j
@EnableDiscoveryClient
@SpringBootApplication
public class SpringBootQuartzApplication {

    public static void main(String[] args) {

        SpringApplication.run(SpringBootQuartzApplication.class, args);

        log.info("--------------啟動(dòng)完成----------------");
    }
}

6、配置RedisConfig

/**
 * ClassName: RedisConfig
 * Package: com.xgxz.boot.config
 * Description:
 *
 * @Author: 習(xí)慣向左
 * @Create: 2023/7/6 - 17:10
 * @Version: v1.0
 */
@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {

        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();

        redisTemplate.setConnectionFactory(factory);

        redisTemplate.setKeySerializer(new StringRedisSerializer());

        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());

        return redisTemplate;
    }

}

7、另外本人習(xí)慣在使用日期類時(shí)用 LocalDateTime

還需要額外配置一下

/**
 * ClassName: User
 * Package: com.xgxz.boot.entity
 * Description:
 *
 * @Author: 習(xí)慣向左
 * @Create: 2023/7/6 - 17:40
 * @Version: v1.0
 */
@Data
public class User {

    private Long id;

    private String name;

    private int age;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")       //此注解用來接收字符串類型的參數(shù)封裝成LocalDateTime類型
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8", shape = JsonFormat.Shape.STRING) //此注解將date類型數(shù)據(jù)轉(zhuǎn)成字符串響應(yīng)出去
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)		// 反序列化
    @JsonSerialize(using = LocalDateTimeSerializer.class)		    // 序列化
    private LocalDateTime sendTime;
}

8、nacos需要額外多暴露兩個(gè)端口號

8848就不多說了,還需要暴露9848和9849,下面使用docker來安裝nacos

8.1、先查詢一下nacos鏡像

docker search nacos

8.2、拉取鏡像

docker pull nacos/nacos-server

8.3、創(chuàng)建文件目錄,為將容器內(nèi)的文件掛載到外面來

mkdir -p /mydata/nacos/init.d /mydata/nacos/logs

8.4、執(zhí)行啟動(dòng)命令

docker run -d -p 8848:8848 -p 9848:9848 -p 9849:9849 \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e JVM_XMS=256m -e JVM_XMX=256m \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /mydata/nacos/logs:/home/nacos/logs \
--restart always  \
--name nacos \
nacos/nacos-server

這里采用單機(jī)試用模式安裝,也可參考Nacos官方文檔 https://nacos.io/zh-cn/docs/deployment.html來安裝

8.5、查看是否運(yùn)行成功

docker ps

訪問瀏覽器 ip:8848/nacos

默認(rèn)用戶名、密碼都為 nacos, 輸入即可登錄成功

一切就緒,下面我們啟動(dòng)服務(wù)來進(jìn)行測試

服務(wù)啟動(dòng)正常

也成功注冊到nacos上

存入的數(shù)據(jù)是沒有問題

查出來的數(shù)據(jù)也是我們想要的

至此,就成功了,是不是還挺容易的 

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java判斷時(shí)間間隔是否超限的兩種實(shí)現(xiàn)方法詳解

    Java判斷時(shí)間間隔是否超限的兩種實(shí)現(xiàn)方法詳解

    本文探討了業(yè)務(wù)系統(tǒng)中判斷時(shí)間間隔是否超限的兩種實(shí)現(xiàn)方法,主要針對常見的30分鐘支付、72小時(shí)檢測等需求,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-01-01
  • SpringBoot工程下使用OpenFeign的坑及解決

    SpringBoot工程下使用OpenFeign的坑及解決

    這篇文章主要介紹了SpringBoot工程下使用OpenFeign的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java Web項(xiàng)目中使用Socket通信多線程、長連接的方法

    Java Web項(xiàng)目中使用Socket通信多線程、長連接的方法

    很多時(shí)候在javaweb項(xiàng)目中我們需要用到Socket通信來實(shí)現(xiàn)功能,在web中使用Socket我們需要建立一個(gè)監(jiān)聽程序,在程序啟動(dòng)時(shí),啟動(dòng)socket監(jiān)聽。接下來通過本文給大家介紹Java Web項(xiàng)目中使用Socket通信多線程、長連接的方法,感興趣的朋友一起學(xué)習(xí)
    2016-04-04
  • Java排序算法之堆排思想及代碼實(shí)現(xiàn)

    Java排序算法之堆排思想及代碼實(shí)現(xiàn)

    今天小編就為大家分享一篇關(guān)于Java排序算法之堆排思想及代碼實(shí)現(xiàn),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 結(jié)合mybatis-plus實(shí)現(xiàn)簡單不需要寫sql的多表查詢

    結(jié)合mybatis-plus實(shí)現(xiàn)簡單不需要寫sql的多表查詢

    這篇文章主要給大家介紹了關(guān)于結(jié)合mybatis-plus實(shí)現(xiàn)簡單不需要寫sql的多表查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mybatis-plus具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 深入研究spring boot集成kafka之spring-kafka底層原理

    深入研究spring boot集成kafka之spring-kafka底層原理

    這篇文章主要深入研究了spring boot集成kafka如何實(shí)現(xiàn)spring-kafka的底層原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • Java8中Function接口的使用方法詳解

    Java8中Function接口的使用方法詳解

    在 Java 8 中,Function 接口是 java.util.function 包中的一個(gè)函數(shù)式接口,函數(shù)式接口是僅包含一個(gè)抽象方法的接口,適用于 Lambda 表達(dá)式或方法引用,本文給大家介紹了Java8的Function接口的使用方法,需要的朋友可以參考下
    2024-09-09
  • 淺談java中的路徑表示

    淺談java中的路徑表示

    下面小編就為大家?guī)硪黄獪\談java中的路徑表示。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • 使用Maven配置Spring的方法步驟

    使用Maven配置Spring的方法步驟

    這篇文章主要介紹了使用Maven配置Spring的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • 遠(yuǎn)程debug調(diào)試入門

    遠(yuǎn)程debug調(diào)試入門

    這篇文章主要介紹了Eclipse的Debug調(diào)試技巧大全(總結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧嗎,希望能給你帶來幫助
    2021-06-06

最新評論

黔江区| 安徽省| 明光市| 兴山县| 浏阳市| 临武县| 清新县| 綦江县| 上栗县| 湖口县| 津南区| 长顺县| 古丈县| 铁岭县| 永登县| 公安县| 张家川| 甘孜县| 龙江县| 呈贡县| 昌图县| 河池市| 来安县| 百色市| 张家口市| 武安市| 绵阳市| 靖江市| 县级市| 蒙城县| 千阳县| 德化县| 驻马店市| 望奎县| 西峡县| 宾川县| 曲沃县| 厦门市| 平原县| 辰溪县| 泸州市|