当前位置: 首页 > news >正文

SpringBoot使用i18n国际化

使用的SpringBoot版本是2.3.5

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.5.RELEASE</version><relativePath/> 
</parent>

 一、简单测试

(1)、配置文件

messages:basename: i18n/messagesencoding: UTF-8

 或者使用 Bean进行代码配置


@Configuration
public class LocalMessageConfig {/*** 系统国际化文件配置* @return MessageSource*/@Bean(name = "messageSource")public MessageSource messageSource() {ResourceBundleMessageSource resourceBundleMessageSource = new ResourceBundleMessageSource();resourceBundleMessageSource.setDefaultEncoding("UTF-8");resourceBundleMessageSource.setBasenames("i18n/messages");return resourceBundleMessageSource;}
}

(2)、在resource目录下i18n文件夹,文件夹下建三个文件,文件名与配置文件中的basename中名称一致,在这里都是messages

message.properties文件内容: 

login.fail = {0} 登陆失败

message_en_US.properties文件内容:

login.fail = {0} login fail

message_zh_CN.properties文件内容:

login.fail = {0} 登陆失败

(3)、测试

@RequestMapping("/hello")
@RestController
public class I18nController {@Autowiredprivate MessageSource messageSource;@GetMappingpublic String msg(){String stringMsg1 = messageSource.getMessage("login.fail",new Object[]{username},Locale.CHINA);String stringMsg2 = messageSource.getMessage("login.fail",new Object[]{username},Locale.US);System.out.println("stringMsg1---"+stringMsg1 +"\n" + "stringMsg2---"+stringMsg2);//Locale locale = LocaleContextHolder.getLocale();//String message = messageSource.getMessage("login.fail", new Object[]{username}, locale);}
}

stringMsg1---admin 登陆失败
stringMsg2---admin login fail

二、添加一些工具类

相关文章:

SpringBoot使用i18n国际化

使用的SpringBoot版本是2.3.5 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.5.RELEASE</version><relativePath/> </parent> 一、简单测试…...

Jmeter的自动化测试实施方案

前言&#xff1a; Jmeter是目前最流行的一种测试工具&#xff0c;基于此工具我们搭建了一整套的自动化方案&#xff0c;包括了脚本添加配置、本地配置和运行、服务器配置等内容&#xff0c;完成了自动化测试闭环&#xff0c;通过这种快捷简便高效的方式&#xff0c;希望可以解…...

nginx优化相关

https://blog.csdn.net/liuxiao723846/article/details/46862381 Nginx反向代理&#xff0c;当后端为Https时的一些细节和原理_nginx反向代理https_赶路人儿的博客-CSDN博客 nginx - 寒星12345678999 - 博客园 (cnblogs.com)...

美客多(mercadolibre)测评下单技术(养号环境搭建详解)

MercadoLibre&#xff08;美客多&#xff09;是拉丁美洲的一个网购平台。该公司为其客户提供电子商务交易的购买&#xff0c;出售&#xff0c;支付和收集机制。目前全球第十大电商市场——巴西是MercadoLibre的主要市场&#xff0c;占据近60%的平台营收&#xff0c;接着是阿根廷…...

UE5- c++ websocket客户端写法

# 实现目标 ue5 c 实现socket客户端&#xff0c;读取服务端数据&#xff0c;并进行解析 #实现步骤 {projectName}.Build.cs里增加 "WebSockets","JsonUtilities", "Json"配置信息&#xff0c;最终输出如下&#xff1a; using UnrealBuildTool;…...

C语言——函数的使用

无参无返回值 语法格式如下&#xff1a; // 函数定义 void 函数名() {函数体 }// 函数调用 函数名();函数名是标识符的一种&#xff0c;需要遵循规则函数只需要定义一次&#xff0c;反复调用只定义函数, 不调用函数, 函数永远不会被执行案例需求&#xff1a; 编写一个函数&am…...

DVWA XSS

反射型 low 查看源代码&#xff0c;没有任何过滤 构造 medium 这里是过滤了 high 这里把双写和大小写和JavaScript都过滤了,用事件来绕过<img src0 οnerrοralert(“xss”)> impossible 这里使用htmlspecialchars进行实体转换并且输出的结果还不能使用事件来…...

石油化工智慧安监方案:TSINGSEE青犀视频AI智能识别安全生产风险预警平台建设

一、行业背景 石油化工生产存储企业属于高温、高压、易燃、易爆、有毒的危险行业&#xff0c;其生产装置大型化、密集化、生产工艺复杂、生产过程紧密耦合。随着互联网技术的发展&#xff0c;运用先进的AI、物联网、大数据、云计算等技术手段不断提高石油化工行业的安全监管水…...

R语言图形绘制

&#xff08;1&#xff09;条形图 > barplot(c(1,2,4,2,6,4,3,5)) > barplot(c(1,2,4,2,6,4,3,5),horiz TRUE) #besideTRUE 表示将多个组别的图形并排显示&#xff0c;使它们在水平方向上对齐 #而当 besideFALSE&#xff08;默认值&#xff09;时&#xff0c;多个组别的…...

2023第七届蓝帽杯 初赛 web LovePHP

LovePHP 直接给了源码。 network查看到&#xff0c;PHP版本是7.4.33 题目要求我们GET一个my_secret.flag参数&#xff0c;根据PHP字符串解析特性&#xff0c;PHP需要将所有参数转换为有效的变量名&#xff0c;因此在解析查询字符串时&#xff0c;它会做两件事&#xff1a; 删…...

Pytorch 的基本概念和使用场景介绍

文章目录 一、基本概念1. 张量&#xff08;Tensor&#xff09;2. 自动微分&#xff08;Autograd&#xff09;3. 计算图&#xff08;Computation Graph&#xff09;4. 动态计算图&#xff08;Dynamic Computation Graph&#xff09;5. 变量&#xff08;Variable&#xff09; 二、…...

git 基础入门

Git基础入门 Git是一个分布式 版本管理系统&#xff0c;用于跟踪文件的变化和协同开发。 版本管理&#xff1a;理解成档案馆&#xff0c;记录开发阶段各个版本 分布式&集中式 分布式每个人都有一个档案馆&#xff0c;集中式只有一个档案馆。分布式每人可以管理自己的档案…...

openssl 生成自签名证书

1、openssl生成CA根证书 1.1、生成CA私钥 openssl genrsa -out root_ca.key 2048 注意&#xff1a;私钥必须妥善保管&#xff0c;既不能丢失&#xff0c;也不能泄露。如果发生丢失和泄露&#xff0c;必须马上重新 生成&#xff0c;以使旧的证书失效。 1.2、通过ca私钥生成pem格…...

微服务dubbo和nexus

微服务是一种软件开发架构风格&#xff0c;它将一个应用程序拆分成一组小型、独立的服务&#xff0c;每个服务都可以独立部署、管理和扩展。每个服务都可以通过轻量级的通信机制&#xff08;通常是 HTTP/REST 或消息队列&#xff09;相互通信。微服务架构追求高内聚、低耦合&am…...

uView1.0的Upload组件上传图片

<template><u-uploadref"uUpload":file-list"fileList"accept"image/jpeg,image/png" //允许选择图片文件:sizeType"sizeType":max-size"2 * 1024 * 1024" //限制上传的图片文件最大为 2Moversize"over…...

【LeetCode题目详解】第九章 动态规划part03 343. 整数拆分 96.不同的二叉搜索树 (day41补)

本文章代码以c为例&#xff01; 一、力扣第343题&#xff1a;整数拆分 题目&#xff1a; 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输…...

半导体制造常用软件工具总结

半导体制造常用软件工具总结 CIM&#xff1a;Computer Integrated Manufacturing 设备自动化&#xff0c;总称MES&#xff1a;Manufacturing Execution System 制造执行系统EAP&#xff1a;Equipment Automation Programming 设备自动化&#xff0c;是MES与设备的桥梁APC&…...

基于Python的IOS自动化测试环境搭建

文章目录 一、测试架构介绍1.1 WebDriverAgent原理分析1.2 tidevice原理分析二、环境安装2.1 iOS 设备安装 WebDriverAgent2.2 安装iTunes2.3 安装tidevice2.4 安装facebook-wda自动化三、操作流程四、Weditor的安装和使用一、测试架构介绍 以下为测试架构原理图 手机端的WDA…...

技术领导力实战笔记25

25&#xff5c;用心做好“鼓励式”管理 激发正能量 授权 分工作&#xff1a; 老人干新事&#xff0c;新人干老事&#xff0c;强者干难事&#xff0c;弱者干细事 新人干老事 所谓新人&#xff0c;是对业务产品不了解&#xff0c;对工作流程不清晰的岗位新人。对于新人来说&…...

设计模式-职责链+反射

文章目录 前言简单版本的职责链加反射职责链反射思路过程总结 前言 最近学习设计模式对于职责链的学习有了一些深入的了解故此有了这篇博客 简单版本的职责链加反射 职责链模式&#xff08;Chain of Responsibility Pattern&#xff09;和反射&#xff08;Reflection&#x…...

零门槛!30分钟搭建本地化数字人交互系统:从安装到对话全流程

零门槛&#xff01;30分钟搭建本地化数字人交互系统&#xff1a;从安装到对话全流程 【免费下载链接】Fay Fay 是一个开源的数字人类框架&#xff0c;集成了语言模型和数字字符。它为各种应用程序提供零售、助手和代理版本&#xff0c;如虚拟购物指南、广播公司、助理、服务员、…...

共享店铺模式小程序开发方案

共享店铺模式是一种将线下实体店铺资源通过数字化手段进行整合与共享的商业模式&#xff0c;小程序作为轻量级应用非常适合实现这一目标。以下是开发共享店铺模式小程序的关键要点&#xff1a;核心功能模块设计用户端功能需包含注册登录、店铺浏览、预约下单、支付系统、评价反…...

SigmaStar SSD21X系列芯片:智能家居与工业控制的多场景显示解决方案

1. SigmaStar SSD21X系列芯片&#xff1a;智能家居与工业控制的显示利器 第一次接触SigmaStar SSD21X系列芯片是在一个智能门锁项目上。当时客户要求低成本实现高清彩色触控屏&#xff0c;还要支持人脸识别和远程控制。测试了几款方案后&#xff0c;SSD210的表现让我印象深刻—…...

20世纪十大经典算法解析与应用

二十世纪十大经典算法解析1. 蒙特卡洛方法 (1946)由John von Neumann、Stan Ulam和Nick Metropolis在洛斯阿拉莫斯国家实验室提出。该方法通过随机采样解决确定性数学问题&#xff0c;其核心思想是&#xff1a;在单位正方形内随机撒点统计落在不规则图形内的点数比例该比例近似…...

FlowScope:一款注重隐私的SQL数据血缘分析工具

最近团队接手了一个新的数据仓库项目&#xff0c;这个项目已经开发了很多年&#xff0c;包含了几百个表和几万行 ETL 存储过程代码。 目前我们经常面临的问题包括&#xff1a; 这个字段从哪里来&#xff1f;这张表被哪些存储过程用到了&#xff1f;修改这个字段会影响哪些 ET…...

从权重计分到算杀引擎:五子棋AI核心算法实战解析

1. 五子棋AI的算法演进&#xff1a;从基础评分到算杀引擎 五子棋作为一款经典策略游戏&#xff0c;其AI算法的核心在于如何评估棋盘局势并做出最优决策。早期AI主要依赖简单的评分机制&#xff0c;比如给不同的棋形&#xff08;活二、活三、冲四等&#xff09;赋予固定分值&…...

Listary vs Everything:Windows文件搜索工具终极对比(附实战技巧)

Listary vs Everything&#xff1a;Windows文件搜索工具终极对比&#xff08;附实战技巧&#xff09; 在Windows生态中&#xff0c;高效的文件搜索工具一直是生产力提升的关键。Listary和Everything作为两款备受推崇的解决方案&#xff0c;各自拥有独特的优势和使用场景。本文将…...

SD-WebUI Cleaner 终极指南:AI图像清理与对象移除完整教程

SD-WebUI Cleaner 终极指南&#xff1a;AI图像清理与对象移除完整教程 【免费下载链接】sd-webui-cleaner An extension for stable-diffusion-webui to remove any object. 项目地址: https://gitcode.com/gh_mirrors/sd/sd-webui-cleaner 你是否曾经想要从照片中移除不…...

Vivado里SRIO IP核Basic模式配置详解:从链路宽度到Buffer深度,新手避坑指南

Vivado中SRIO IP核Basic模式配置全解析&#xff1a;从参数理解到实战避坑 第一次在Vivado中配置SRIO IP核时&#xff0c;面对密密麻麻的参数选项&#xff0c;大多数工程师都会感到无从下手。作为Xilinx FPGA中实现高速串行通信的关键IP&#xff0c;SRIO&#xff08;Serial Rap…...

3倍效能革命:ComfyUI-TeaCache智能缓存技术重构AI创作流程

3倍效能革命&#xff1a;ComfyUI-TeaCache智能缓存技术重构AI创作流程 【免费下载链接】ComfyUI-TeaCache 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-TeaCache 在AI创作领域&#xff0c;每一秒的等待都可能错失灵感迸发的瞬间。ComfyUI-TeaCache作为一款基…...