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

SpringBoot項目啟動時就加載數(shù)據(jù)到內(nèi)存實現(xiàn)

 更新時間:2026年04月12日 11:17:18   作者:一葉知寧Max  
文章主要討論了在SpringBoot項目中,對于不經(jīng)常變動的配置型數(shù)據(jù),可以在項目啟動時直接加載到內(nèi)存中,以減少不必要的IO消耗,使用Maven管理后端依賴,并實現(xiàn)了服務(wù)層和控制器層

背景

對于一些配置型數(shù)據(jù)而言,改動不是很頻繁,可以在項目啟動的時候直接加載到內(nèi)存,避免需要數(shù)據(jù)時去查詢數(shù)據(jù)庫,造成不必要的IO消耗

環(huán)境

  • SpringBoot
  • maven

后端代碼

pom依賴

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>31.0.1-jre</version>
        </dependency>

service層

package com.example.demo.service;

import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import com.google.common.collect.Maps;


import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.Map;


/**
 * @author jn
 * @date 2022/2/24 上午9:20
 */
/**解釋
 被@PostConstruct修飾的方法會在服務(wù)器加載Servlet的時候運行,并且只會被服務(wù)器執(zhí)行一次。
 PostConstruct在構(gòu)造函數(shù)之后執(zhí)行,init()方法之前執(zhí)行。
 
 這里加載的順序是:SpringBoot的主啟動類啟動 --> 掃描到EvaluationServiceImpl --> 初始化allEvaluationMap
                --> @PostConstruct修飾的方法  --> loadTeachingOrg()方法
 這樣當(dāng)接口注入EvaluationServiceImpl后,直接調(diào)用EvaluationServiceImpl的方法loadTeachingOrg就可以拿到內(nèi)存的數(shù)據(jù)
 不需要再走DB
 */
@Service
@Slf4j
public class EvaluationServiceImpl {
    private Logger logger = LoggerFactory.getLogger(EvaluationServiceImpl.class);

    Map<Long, String> allEvaluationMap = Maps.newHashMap();
    
    @PostConstruct
    void init(){
        loadTeachingOrg();
    }

    public void loadTeachingOrg(){
        //假設(shè):查DB得到的數(shù)據(jù)如下
        Map<Long, String> map = new HashMap<>();
        map.put(1L, "評價1");
        map.put(2L, "評價2");
        map.put(3L, "評價3");
        //放入內(nèi)存
        allEvaluationMap = map;
    }

    /**
     * 獲取當(dāng)前學(xué)期的所有的評價類別
     */
    public Map<Long, String> getAllEvaluationMap(){
        return allEvaluationMap;
    }
}

controller層

@RestController
@RequestMapping("/api/evaluation")
public class EvaluationController {
    @Resource
    private EvaluationServiceImpl evaluationService;

    @RequestMapping("all")
    public Map<Long, String> result(){
        Map<Long, String> allEvaluationMap = evaluationService.getAllEvaluationMap();
        System.out.println(allEvaluationMap);
        return allEvaluationMap;
    }
}

結(jié)果:

總結(jié)

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

相關(guān)文章

  • Java經(jīng)驗點滴:處理沒有被捕獲的異常

    Java經(jīng)驗點滴:處理沒有被捕獲的異常

    Java經(jīng)驗點滴:處理沒有被捕獲的異常...
    2006-12-12
  • SpringBoot整合minio服務(wù)的示例代碼

    SpringBoot整合minio服務(wù)的示例代碼

    本文主要介紹了SpringBoot整合minio服務(wù)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • nacos在liunx系統(tǒng)中啟動成功瀏覽器卻訪問不了的解決方法

    nacos在liunx系統(tǒng)中啟動成功瀏覽器卻訪問不了的解決方法

    在linux下搭建nacos,現(xiàn)在想要啟動,訪問nacos頁面,訪問不了,所以本文小編將給大家介紹nacos在liunx系統(tǒng)中啟動成功,瀏覽器卻訪問不了?全面的解決辦法,需要的朋友可以參考下
    2023-09-09
  • 使用webmagic實現(xiàn)爬蟲程序示例分享

    使用webmagic實現(xiàn)爬蟲程序示例分享

    這篇文章主要介紹了使用webmagic實現(xiàn)爬蟲程序示例,需要的朋友可以參考下
    2014-04-04
  • Java多線程之ThreadLocal淺析

    Java多線程之ThreadLocal淺析

    這篇文章主要分析了Java多線程ThreadLocal,ThreadLocal叫做線程變量,用于在多線程環(huán)境下創(chuàng)建線程本地變量。想了解更多的可以參考本文
    2023-04-04
  • 詳細(xì)介紹Java中的各種鎖

    詳細(xì)介紹Java中的各種鎖

    不少同學(xué)開始慢慢接觸多線時候,對線程之間為了保障數(shù)據(jù)安全性,一致性有所了解,本文詳細(xì)解介紹java中的21種鎖 ,需要的朋友可以參考下
    2021-06-06
  • SpringBoot接收接口入?yún)⒌姆绞叫〗Y(jié)

    SpringBoot接收接口入?yún)⒌姆绞叫〗Y(jié)

    這篇文章主要給大家介紹了SpringBoot接收接口入?yún)⒌膸追N方式,我們從調(diào)用方的視角去看待這個問題,對調(diào)用方來說,它在調(diào)用接口時有好幾種傳參方式,下面,將會依次對這幾種參數(shù)方式進(jìn)行講解和代碼示例,需要的朋友可以參考下
    2024-01-01
  • Java實現(xiàn)warcraft?java版游戲的示例代碼

    Java實現(xiàn)warcraft?java版游戲的示例代碼

    致敬經(jīng)典的warcraft,《warcraft?java版》是一款即時戰(zhàn)略題材單機游戲,采用魔獸原味風(fēng)格和機制。本文將用java語言實現(xiàn),采用了swing技術(shù)進(jìn)行了界面化處理,感興趣的可以了解一下
    2022-09-09
  • java實現(xiàn)文件重命名功能

    java實現(xiàn)文件重命名功能

    這篇文章主要介紹了java實現(xiàn)文件重命名功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • SpringMVC入門實例

    SpringMVC入門實例

    這篇文章主要介紹了SpringMVC入門實例,在springmvc入門教程里算是比較不錯的,結(jié)構(gòu)也比較完整,需要的朋友可以參考。
    2017-11-11

最新評論

西贡区| 阜宁县| 曲水县| 库车县| 义乌市| 贵德县| 中宁县| 贡嘎县| 凭祥市| 涪陵区| 宁夏| 阜城县| 阿荣旗| 中卫市| 敦化市| 葫芦岛市| 永康市| 鄯善县| 婺源县| 岑巩县| 山东省| 阿坝县| 光山县| 棋牌| 巧家县| 互助| 林口县| 黄冈市| 英德市| 宜阳县| 宜阳县| 长葛市| 万州区| 汪清县| 双鸭山市| 鲁山县| 南溪县| 纳雍县| 元谋县| 且末县| 邻水|