基于 Spring Boot 博客系统开发(十三)

基于 Spring Boot 博客系统开发(十三)

本系统是简易的个人博客系统开发,为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。🌿🌿🌿
基于 Spring Boot 博客系统开发(十二)👈👈

基本信息渲染

后台系统设置修改基本信息,前台显示基本信息。
在这里插入图片描述

添加配置工具类 ConfigUtils

ConfigUtils.java

@Component
public class ConfigUtils {public static Map CONFIG_MAP;@Autowiredprivate IConfigService configService;public Map getConfigMap(){if(CONFIG_MAP == null){//简单缓存判断List<Config> list = configService.list();CONFIG_MAP = new HashMap<>();list.forEach(config -> {CONFIG_MAP.put(config.getName(),config.getValue());});}return CONFIG_MAP;}}

前端调用该工具类方法获取CONFIG_MAP对象进行渲染

使用表达式 ${@configUtils.getConfigMap().site_name} 获取昵称
index.html

 <!-- 博主信息描述 --><div class="am-u-md-4 am-u-sm-12 blog-sidebar"><div class="blog-sidebar-widget blog-bor"><h2 class="blog-text-center blog-title"><span th:text="${@configUtils.getConfigMap().site_name}">CrazyStone</span></h2><img src="./assets/img/me.jpg" alt="about me" class="blog-entry-img"/><p th:text="${@configUtils.getConfigMap().site_tags}">Java后台开发</p><p th:text="${@configUtils.getConfigMap().site_profile}">个人博客小站,主要发表关于Java、Spring、Docker等相关文章</p></div><div class="blog-sidebar-widget blog-bor"><h2 class="blog-text-center blog-title"><span>联系我</span></h2><p><a><span class="am-icon-github am-icon-fw blog-icon"></span></a><a><span class="am-icon-weibo am-icon-fw blog-icon"></span></a></p></div></div>

修改主题样式
include.html

<style th:if="${@configUtils.getConfigMap().site_theme eq '2'}">html {filter: grayscale(100%);-webkit-filter: grayscale(100%);-moz-filter: grayscale(100%);-o-filter: grayscale(100%);-ms-filter: grayscale(100%);filter: url("data:image/svg+xml;utf8,#grayscale");filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);-webkit-filter: grayscale(1);}</style>

当后台修改基本信息,CONFIG_MAP设置为null

ConfigUtils.CONFIG_MAP = null;

	@RequestMapping("/config/edit")@ResponseBodypublic AjaxResult edit(HttpServletRequest request){//获取请求参数的map对象Map<String, String[]> parameterMap = request.getParameterMap();//遍历map的key集合,获取key和value,并使用service保存到数据库for (String key : parameterMap.keySet()) {String value = request.getParameter(key);//根据key查询配置对象QueryWrapper<Config> query = new QueryWrapper<>();query.eq("name",key);Config one = configService.getOne(query);//修改值并执行更新if(one !=null){one.setValue(value);//设置新的值configService.updateById(one);//执行更新ConfigUtils.CONFIG_MAP = null; //更新完成CONFIG_MAP 设置为null}}return AjaxResult.success();}

修改完配置渲染效果

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

【Linux-Uboot】

Linux-Uboot ■ Uboot使用 串口软件&#xff08;超级终端&#xff09;接受文件■ ■ Uboot使用 串口软件&#xff08;超级终端&#xff09;接受文件 添加链接描述 ■

NGINX之location和rewrite

一.NGINX常用的正则表达式 二.Location location作用:对访问的路径做访问控制或者代理转发 1.location 常用的匹配规则&#xff1a; 进行普通字符精确匹配&#xff0c;也就是完全匹配^~ / 表示普通字符匹配。使用前缀匹配。如果匹配成功&#xff0c;则不再匹配其它 …

redis源码解析-字符串

摘要 redis中string是最简单Redis类型&#xff0c;本文主要通过查看源代码了解string的实现原理。 简单动态字符串 redis没有使用c语言传统的字符串表示&#xff0c;而是自己构建了一种名为简单动态字符串&#xff08;Simple dynamic string,SDS&#xff09;的抽象类型&…

JVM学习-监控工具(一)

使用数据说明问题&#xff0c;使用知识分析问题&#xff0c;使用工具处理问题 无监控&#xff0c;不调优&#xff01; 命令行工具 在JDK安装目录下&#xff0c;可以查看到相应的命令行工具&#xff0c;如下图 jps(Java Process Status) 显示指定系统内所有的Hotpot虚拟机…

【自然语言处理】文本情感分析

文本情感分析 1 任务目标 1.1 案例简介 情感分析旨在挖掘文本中的主观信息&#xff0c;它是自然语言处理中的经典任务。在本次任务中&#xff0c;我们将在影评文本数据集&#xff08;Rotten Tomato&#xff09;上进行情感分析&#xff0c;通过实现课堂讲授的模型方法&#x…

OpenStack无效数据清空脚本

​​​​​​​介绍 在以openstack为底层开发的一些项目中&#xff0c;常常会遇到项目中数据与openstack数据不同步的问题&#xff0c;为了简化清空无效数据的繁琐&#xff0c;提供以下脚本便于运维操作。 环境变量 [rootcloud ~]# cat admin.sh export OS_USERNAMEadmin ex…

蓝图collapseNodes很有用

学到了&#xff0c;选中N个节点后&#xff0c;再右键collapseNode&#xff0c;可以使代码很清晰&#xff0c;双击后可以看到相应的代码&#xff0c;具有层次感。

【python科学文献计量】关于中国知网检索策略的验证,以事故伤害严重程度检索为例

关于中国知网检索策略的验证,以事故伤害严重程度检索为例 1 背景2 文献下载3 数据处理1 背景 由于要进行相关研究内容的综述,需要了解当前我国对于事故伤害严重程度的研究现状,采用国内较为知名的检索网站(中国知网)进行文献数据集检索 由于最近知网出bug,检索的结果在…

【最新鸿蒙应用开发】——使用axios完成手机号注册业务

使用Axios请求实现目标效果图&#xff1a; 短信验证码登录 校验图形验证码&#xff0c;校验通过 发送短信验证码到用户手机上&#xff0c;可通过在线 WebSocket查看&#xff1a;wss://guardian-api.itheima.net/verifyCode 根据 手机号 短信验证码 实现登录 更新图形验证码…

Python环境集成:全方位探索与实战指南

Python环境集成&#xff1a;全方位探索与实战指南 在软件开发领域&#xff0c;Python环境的集成是一项至关重要的任务。它涉及到多个组件的协同工作&#xff0c;以确保Python代码能够顺利运行。本文将从四个方面、五个方面、六个方面和七个方面对Python环境集成进行深入剖析&a…

数据结构设计算法以比较链串S1和链串S2的大小,若S1 < S2,返回-1;若S1 = S2,返回0;否则返回1。

可以使用以下算法来比较两个链串的大小&#xff1a; 创建两个指针&#xff0c;一个指向链串S1的头部&#xff0c;一个指向链串S2的头部。依次比较两个指针指向的节点的值&#xff0c;如果相等&#xff0c;则继续比较下一个节点。如果两个节点的值不相等&#xff0c;则根据节点…

基于React的SSG静态站点渲染方案

基于React的SSG静态站点渲染方案 静态站点生成SSG - Static Site Generation是一种在构建时生成静态HTML等文件资源的方法&#xff0c;其可以完全不需要服务端的运行&#xff0c;通过预先生成静态文件&#xff0c;实现快速的内容加载和高度的安全性。由于其生成的是纯静态资源…

日本指数实时API接口

日本 指数 实时API接口 # Restful API https://tsanghi.com/api/fin/index/JPN/realtime?token{token}&ticker{ticker}指定指数代码&#xff0c;获取该指数的实时行情&#xff08;开、高、低、收、量&#xff09;。 更新周期&#xff1a;实时。 请求方式&#xff1a;GET。…

CV每日论文--2024.6.4

1、Mixed Diffusion for 3D Indoor Scene Synthesis 中文 标题&#xff1a;用于 3D 室内场景合成的混合扩散 简介&#xff1a;这篇论文提出了一种名为MiDiffusion的混合离散-连续扩散模型,用于从给定的房间类型、平面图和可能存在的物体中合成逼真的3D室内场景。 作者指出,该…

【Unity实战篇 】 | Unity实现UGUI颜色渐变,支持透明渐变

前言 【Unity实战篇 】 | Unity实现UGUI颜色渐变&#xff0c;支持透明渐变一、双层颜色渐变1.1 组件属性面板1.2 效果及代码 二、多层颜色渐变2.1 组件属性面板2.2 效果及代码 总结 前言 在Unity中UGUI的实现图片和文字颜色渐变效果是一个很常见的需求。下面就来看一下颜色渐变…

机器学习中的集成学习

&#x1f4ac;内容概要 1 集成学习概述及主要研究领域 2 简单集成技术  2.1 投票法  2.2 平均法  2.3 加权平均 3 高级集成技术  3.1 Bagging  3.2 Boosting  3.3 Bagging vs Boosting 4 基于Bagging和Boosting的机器学习算法  4.1 sklearn中的Bagging算法  4.2 sklea…

python 深浅拷贝

浅拷贝 copy函数就是浅拷贝 copy函数是浅拷贝&#xff0c;只对可变类型的第一层对象进行拷贝 对拷贝的对象开辟新的内存空间进行存储&#xff0c;子对象不会开辟新的空间 list1 [1, 2, 3] list2 [a, list1] list3 list2.copy()print(id(list1)) print(id(list2)) …

Layout软件AD中关于铺铜的技巧

Layout软件AD中关于铺铜的技巧 目录 一.铜的连接方式: 二.关于铜的编辑: 三.Shelve的使用:

探索Linux世界的钥匙:Bash命令详解

标题&#xff1a;探索Linux世界的钥匙&#xff1a;Bash命令详解 引言&#xff1a; 在Linux的世界里&#xff0c;Bash&#xff08;Bourne Again Shell&#xff09;无疑是每个用户和系统管理员的得力助手。作为Linux系统中最常用的shell之一&#xff0c;Bash提供了丰富的命令和强…

1961. 检查字符串是否为数组前缀 - 力扣

1. 题目 给你一个字符串 s 和一个字符串数组 words &#xff0c;请你判断 s 是否为 words 的 前缀字符串 。 字符串 s 要成为 words 的 前缀字符串 &#xff0c;需要满足&#xff1a;s 可以由 words 中的前 k&#xff08;k 为 正数 &#xff09;个字符串按顺序相连得到&#xf…