Spring Boot读取resources目录下文件(打成jar可用),并放入Guava缓存

1、文件所在位置:
在这里插入图片描述
2、需要Guava依赖:

        <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>23.0</version></dependency>

3、启动时就读取放入缓存的代码:

@Service
@AllArgsConstructor
@Slf4j
public class SensitiveCheckService {private static final Cache<String, String> SENSITIVE_WORDS_CACHE = CacheBuilder.newBuilder()// 设置缓存容量数.maximumSize(1).build();static {try {ClassLoader classLoader = DemoApplication.class.getClassLoader();Enumeration<URL> resources = classLoader.getResources("static/sensitive/敏感词库.txt");List<String> allSensitiveList = new ArrayList<>();while (resources.hasMoreElements()) {URL resource = resources.nextElement();BufferedReader reader = new BufferedReader(new InputStreamReader(resource.openStream(), "utf-8"));String line;while ((line = reader.readLine()) != null) {// 一行行读取allSensitiveList.add(line);}SENSITIVE_WORDS_CACHE.put(RedisKeyConstant.ALL_SENSITIVE_WORDS, JSON.toJSONString(allSensitiveList));}} catch (Exception e) {log.error("加载敏感词失败", e);}}public List<String> getSensitiveWordsCache() {return JSON.parseArray(SENSITIVE_WORDS_CACHE.getIfPresent(RedisKeyConstant.ALL_SENSITIVE_WORDS), String.class);}}

Guava的缓存类似于redis。比起Redis,Guava的缓存优势在于更轻更快,而Redis的优势在于支持分布式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/445586.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gaussdb hccdp理论考试总结

判断题1分&#xff0c;单选题2分&#xff0c;多选题3分 共50道题&#xff0c;满分100分&#xff0c;60分通过。 理论考试知识点占比&#xff1a; 理论考试参考策略&#xff1a; 1.7张PPT看一遍 2.思考题做一遍 3.模拟题做一遍 4.7张PPT再看一遍 5.考题知识点过一遍 6.考试前一…

ZYNQ使用XGPIO驱动外设模块(前半部分)

目录 目录 一、新建BD文档&#xff0c;添加ZYNQ处理器 1.BD文档: 2.在Vivado中&#xff0c;BD文件的生成过程通常包括以下步骤&#xff1a; 1)什么是Tcl Console: 3.PL部分是FPGA可编程逻辑部分&#xff0c;它提供了丰富的IO资源&#xff0c;可以用于实现各种硬件接口和功…

QT 连接SQL SEVER 之后无法读取浮点和整型

1、ODBC Driver 的版本要对应上。 if (!strDbDirPath.isEmpty())m_strDbDirPath strDbDirPath;m_strDatabaseName strDatabaseName;if (m_database.isOpen() || m_bConnected){qDebug() << QString("QODBC:已经连接成功&#xff01;") << "\n&quo…

Power Pivot, PowerView和PowerBI在产品宣传,功能,及本质上有什么不同?

微软的Power Pivot、Power View和Power BI是三个不同的数据分析和商业智能工具&#xff0c;它们在产品宣传、功能和本质上有所区别&#xff0c;并且各自适用于不同的场景。 1. Power Pivot Power Pivot是一种数据建模技术&#xff0c;用于在Excel中创建数据模型&#xff0c;建…

Halcon 3D应用 - 胶路提取

1. 需求 本文基于某手环&#xff08;拆机打磨处理&#xff09;做的验证性工作&#xff0c;为了项目保密性&#xff0c;只截取部分数据进行测试。 这里使用的是海康3D线激光轮廓相机直线电机的方式进行的高度数据采集&#xff0c;我们拿到的是高度图亮度图数据。 提取手环上的胶…

Java面向对象编程--高级

目录 一、static关键字 1.1 静态变量 1.2 静态内存解析 1.3 static的应用与练习 二、单例设计模式 2.1 单例模式 2.2 如何实现单例模式 三、代码块 3.1 详解 3.2 练习&#xff0c;测试 四、final关键字 五、抽象类与抽象方法 5.1 abstract 5.2 练习 六、接口 6.…

d3dcompiler_47.dll缺失怎么修复,马上教你六种靠谱的方法

在使用计算机的过程中&#xff0c;我们可能会遇到各种问题&#xff0c;其中一个就是某些dll文件缺失。比如d3dcompiler_47.dll&#xff0c;这个文件是DirectX的一部分&#xff0c;主要用于编译DirectX的着色器代码。当这个文件缺失时&#xff0c;一些程序就无法正常运行了&…

typescript使用webpack打包编译问题

解决方案&#xff1a;在webpack.config.js中的mdule.exports中设置mode。 再次运行npm run start即可。

pytest的基础入门

pytest判断用例的成功或者失败 pytest识别用例失败时会报AssertionError或者xxxError错误&#xff0c;当捕获异常时pytest无法识别到失败的用例 pytest的fixture夹具 pytest的参数化 #coding:utf-8 import pytestfrom PythonProject.pytest_test.funcs.guess_point import ge…

GAN(Generative Adversarial Nets)

GAN(Generative Adversarial Nets) 引言 GAN由Ian J. Goodfellow等人提出&#xff0c;是Ian J. Goodfellow的代表作之一&#xff0c;他还出版了大家耳熟能详的花书&#xff08;Deep Learning深度学习&#xff09;&#xff0c;GAN主要的思想是同时训练两个模型&#xff0c;生成…

【重磅升级】基于大数据的股票量化分析与预测系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 伴随全球经济一体化和我国经济的快速发展&#xff0c;中国股票市场对世界经济的影响力不断攀升&#xff0c;中国股市已成为全球第二大股票交易市场。在当今的金融市场中&#xff0c;股票价格的波动…

只需5步,就可以使用大语言模型(LLM)打造高效的应用

01 概述 随着人工智能技术的飞速发展&#xff0c;大型语言模型&#xff08;LLM&#xff09;正逐渐成为各个领域的得力助手。从最初的文本理解、生成到翻译&#xff0c;这些模型在自然语言处理&#xff08;NLP&#xff09;中的出色表现&#xff0c;让它们在聊天机器人、虚拟助…

微调大语言模型——超详细步骤

微调一个语言模型&#xff0c;其实就是在一个已经训练过的模型上&#xff0c;继续用新数据进行训练&#xff0c;帮助模型更好地理解和处理这个新的任务。可以把这个过程想象成教一个已经懂很多道理的人去解决新的问题。 这个过程可以分为五个简单的步骤&#xff1a; 加载预训练…

自定义注解和组件扫描在Spring Boot中动态注册Bean(一)

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 在Spring Boot中&#xff0c;自定义注解和组件扫描是两种强大的机制&#xff0c;它们允许开发者以声明性的方式动态注册Bean。这种方式不仅提高了代码的可读性和可维护性&#xff0c;还使得Spring Boot应用的…

动态规划lc

先找到规律&#xff0c;然后找边界情况&#xff1b;部分特殊情况分类讨论 *递归 70.爬楼梯 简单 提示 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a…

UCI-HAR数据集深度剖析:训练仿真与可视化解读

在本篇文章中&#xff0c;我们将深入探讨如何使用Python对UCI人类活动识别&#xff08;HAR&#xff09;数据集进行分割和预处理&#xff0c;以及运用模型网络CNN对数据集进行训练仿真和可视化解读。 一、UCI-HAR数据集分析及介绍 UCI-HAR数据集是一个公开的数据集&#xff0c…

【C++差分数组】P1672何时运输的饲料

本文涉及知识点 C差分数组 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 P1672何时运输的饲料 原文比较啰嗦&#xff0c;我简述一下&#xff1a; 第x天运来F1(1<F1<1e6)千克的饲料&#xff0c;第D&#xff08;1<2e3)天还剩F2&…

树莓派3b安装ubuntu18.04服务器系统server配置网线连接

下载ubuntu镜像网址 img镜像&#xff0c;即树莓派官方烧录器使用的镜像网址 ubuntu18.04-server&#xff1a;ARM/RaspberryPi - Ubuntu Wiki 其他版本&#xff1a;Index of /ubuntu/releases 下载后解压即可。 发现使用官方烧录器烧录配置时配置wifi无论如何都不能使用&am…

Charles安卓抓包环境配置

下载安装Charles 官网搜索然后直接下载就可以了 抓HTTP的包 HTTP代理 在Proxy->Proxy Settings里配置HTTP代理 手机上配置代理 进入WIFI&#xff0c;找到连接的网络&#xff0c;打开高级选项&#xff0c;里面有一个代理选项&#xff0c;将其改为手动&#xff0c;然后…

子网掩码、网络地址、广播地址、子网划分及计算

1. IPV4地址分类及组成 IP地址网络地址主机地址&#xff0c;&#xff08;又称&#xff1a;主机号和网络号&#xff09; 由上图可见网络号和主机号之和是32&#xff0c;而且此多彼少。 例&#xff1a;IP地址为192.168.2.131&#xff0c;转换成二进制1111 1111.1010 1000.0000 00…