SpringIOC之AbstractMessageSource

news2025/1/16 2:31:46

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌

博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分离项目,可以在左边的分类专栏找到更多项目。《Uniapp项目案例》有几个有uniapp教程,企业实战开发。《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

🍅uniapp微信小程序🍅面试题软考题免费使用,还可以使用ChatGPT,微信支付,扫码加群

点击这里预览

🍅开源项目免费哦(有vue2与vue3版本): 击这里克隆或者下载    🍅

🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

Java项目案例《100套》

https://blog.csdn.net/qq_57756904/category_12173599.html
uniapp小程序《100套》

https://blog.csdn.net/qq_57756904/category_12199600.html

有需求代码永远写不完,而方法才是破解之道,抖音有实战视频课程,某马某千等培训都是2万左右,甚至广东有本科院校单单一年就得3万4年就12万学费,而且还没有包括吃饭的钱。所以很划算了。另外博客左侧有源码阅读专栏,对于求职有很大帮助,当然对于工作也是有指导意义等。在大城市求职,你面试来回一趟多多少少都在12块左右,而且一般不会一次性就通过,还得面试几家。而如果你对源码以及微服务等有深度认识,这无疑给你的面试添砖加瓦更上一层楼。

最后再送一句:最好是学会了,而不是学废了!!!

AbstractMessageSource 是 Spring Framework 中的一个抽象类,它是 MessageSource 接口的一个具体实现,用于支持消息国际化(i18n)和本地化(l10n)的功能。消息国际化是指根据用户的首选语言和区域设置提供不同的消息和文本内容。

AbstractMessageSource 主要负责以下任务:

  1. 消息的查找和获取: 它提供了一个方法 getMessage(String code, Object[] args, Locale locale),允许根据消息代码、参数和区域设置获取本地化的消息文本。
  2. 消息格式化: 它支持将消息文本与参数进行格式化,以生成最终的本地化消息。
  3. 消息资源文件的加载和管理: 它支持从不同的消息资源文件(如属性文件)加载消息,并将它们组织为一组消息源。

AbstractMessageSource 的子类通常是用于不同类型的消息资源文件(如属性文件、数据库、数据库等)的加载和管理。

以下是一个示例,演示如何使用 AbstractMessageSource 获取本地化消息:

import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.Locale;

public class MessageSourceExample {

    public static void main(String[] args) {
        // 创建 Spring 应用程序上下文
        AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

        // 获取 MessageSource bean
        AbstractMessageSource messageSource = context.getBean(AbstractMessageSource.class);

        // 获取本地化消息
        String message = messageSource.getMessage("welcome.message", null, Locale.US);
        System.out.println("English Message: " + message);

        message = messageSource.getMessage("welcome.message", null, Locale.FRENCH);
        System.out.println("French Message: " + message);

        // 关闭应用程序上下文
        context.close();
    }
}

在这个示例中,我们首先创建了一个 Spring 应用程序上下文,然后获取了一个 AbstractMessageSource bean。接着,我们使用 getMessage 方法分别获取了英语和法语版本的消息文本,并根据不同的区域设置输出它们。

AbstractMessageSource 可以与不同的消息资源文件一起使用,以便根据用户的首选语言和区域提供本地化消息。这在多语言应用程序中非常有用。不同的子类可以实现不同的消息源加载策略。例如,ResourceBundleMessageSource 用于从属性文件中加载消息。

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

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

相关文章

nodejs+vue+微信小程序+python+PHP计算机网络在线考试系统-计算机毕业设计推荐

信息数据的处理完全依赖人工进行操作, 所以电子化信息管理的出现就能缓解以及改变传统人工方式面临的处境,一方面可以确保信息数据在短时间被高效处理,还能节省人力成本,另一方面可以确保信息数据的安全性,可靠性&…

el-tree lazy懒加载(进阶版)

2023.12.22今天我学习了el-tree如何实现懒加载&#xff0c;效果如&#xff1a; 代码如下&#xff1a; 懒加载的使用不需要用:data <template><div><el-tree:props"props":load"loadNode"lazynode-key"id"show-checkbox/><…

新版IDEA中Git的使用(一)

说明&#xff1a;本文介绍如何在新版IDEA中使用Git 创建项目 首先&#xff0c;在GitLab里面创建一个项目&#xff08;git_demo&#xff09;&#xff0c;克隆到桌面上。 然后在IDEA中创建一个项目&#xff0c;项目路径放在这个Git文件夹里面。 Git界面 当前分支&Commit …

Pinely Round 3 (Div. 1 + Div. 2)(A~D)(有意思的题)

A - Distinct Buttons 题意&#xff1a; 思路&#xff1a;模拟从&#xff08;0,0&#xff09;到每个位置需要哪些操作&#xff0c;如果总共需要4种操作就输出NO。 // Problem: A. Distinct Buttons // Contest: Codeforces - Pinely Round 3 (Div. 1 Div. 2) // URL: https…

Leetcode—1962.移除石子使总数最小【中等】(最大堆做法)

2023每日刷题&#xff08;六十八&#xff09; Leetcode—1962.移除石子使总数最小 实现代码 class Solution { public:void downAdjustHeap(vector<int>& arr, int low, int high) {int i low, j i * 2 1;while(j < high) {if(j 1 < high && arr…

7.3电话号码的字母组合(LC17-M)

算法&#xff1a; 数字到字母要映射&#xff0c;可以用map&#xff0c;也可以用二维数组&#xff0c;或者直接用一个字符串 这里用字符串&#xff0c;键入的数字对应字符串的索引 String[] numString {"", "", "abc", "def", &quo…

前端开发有了 Next.js,还需要后端开发吗 ?

前言 在迅速变化的Web开发领域&#xff0c;选择正确的工具和框架对于打造优秀的用户体验至关重要。Next.js&#xff0c;作为React框架的佼佼者&#xff0c;因其前后端流畅集成而受到广泛欢迎。这就引出了一个有趣的问题&#xff1a;我们真的需要Next.js的后端功能吗&#xff1f…

ESP32+LVGL笔记(6)-把712k的一二级汉字字库放在SPIRAM

文章目录 1.字库制作2.字库烧录到ESP32-S3的flash2.1 配置好分区文件2.2 汉字库文件烧录到ESP32的flash 3.将字库从 flash 拷贝到 SPIRAM3.1 工程配置中有关 SPIRAM 部分3.2 将汉字库从flash拷贝到SPIRAM的代码3.3 在进入lvgl之前调用函数 copyHZK_from_flash_to_SPIRAM 在前面…

部署LNMP动态网站

部署LNMP动态网站 安装LNMP平台相关软件1. 安装软件包2. 启动服务&#xff08;nginx、mariadb、php-fpm&#xff09;3. 修改Nginx配置文件&#xff0c;实现动静分离4. 配置数据库 上线wordpress代码 &#xff08;测试搭建的LNMP环境是否可以使用&#xff09;1. 上线php动态网站…

【机器学习】模式识别

1 概述 模式识别&#xff0c;简单来讲&#xff0c;就是分类问题。 模式识别应用&#xff1a;医学影像分析、人脸识别、车牌识别、遥感图像 2 模式分类器 分类器的分类&#xff1a;线性分类器、非线性分类器、最近邻分类器 2.1 分类器的训练&#xff08;学习&#xff09;过…

Spring中的上下文工具你写的可能有bug

文章目录 前言功能第一种&#xff1a;ApplicationContext第二种方式&#xff1a;ApplicationContextAware第三种&#xff1a;BeanFactoryPostProcessor 源码第一种第二种第三种 前言 本篇是针对如何写一个比较好的spring工具的一个探讨。 功能 下面三种方式&#xff0c;你觉…

Kubernetes api-server源码阅读2(Debug Kubernetes篇)

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Kubernetes api-server源码阅读 系列第二篇&#xff0c;主要讲述如何实现 kubernetes api-server 的 debug 参考b站视频地址&#xff1a;Kubernetes源码开发之旅二 1.本篇章任务 Go-Delve&#xff1a;go语言的…

使用 Elasticsearch 检测抄袭 (二)

我在在之前的文章 “使用 Elasticsearch 检测抄袭 &#xff08;一&#xff09;” 介绍了如何检文章抄袭。这个在许多的实际使用中非常有意义。我在 CSDN 上的文章也经常被人引用或者抄袭。有的人甚至也不用指明出处。这对文章的作者来说是很不公平的。文章介绍的内容针对很多的…

string的库函数reserve、resize

系列文章 http://t.csdnimg.cn/u80hL 目录 系列文章[TOC](目录) 一、reserve——请求容量的变化二、resize——操作对象使用的空间 一、reserve——请求容量的变化 改变对象的capacity——他会请求开辟和缩小对象所占的空间&#xff0c;reserve只能操作对象未使用的空间&…

指针:传址调用

#include <stdio.h> void Swap1(int x, int y) {int tmp x;x y;y tmp; } int main() {int a 0;int b 0;scanf("%d %d", &a, &b);printf("交换前&#xff1a;a%d b%d\n", a, b);Swap1(a, b);printf("交换后&#xff1a;a%d b%d\n&…

dotnet 的跨平台 UI 框架:WPF 的精神继承 | 开源日报 No.123

AvaloniaUI/Avalonia Stars: 20.7k License: MIT Avalonia 是 dotnet 的跨平台 UI 框架&#xff0c;提供灵活的样式系统&#xff0c;并支持 Windows、macOS、Linux、iOS、Android 和 WebAssembly 等多种平台。它被许多人认为是 WPF 的精神继承者&#xff0c;为 XAML 开发人员创…

OpenHarmony南向之Audio

音频架构 Audio驱动框架基于HDF驱动框架实现&#xff0c;包含内核态&#xff08;KHDF&#xff09;&#xff0c;和用户态&#xff08;UHDF&#xff09;&#xff0c; 对北向提供音频HDI接口 音频框架图 驱动架构主要由以下几部分组成。 HDI adapter&#xff1a;实现Audio HAL层…

java流浪动物保护系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web 流浪动物保护系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql…

Spring Boot实践指南

一.SpringBoot入门案例 SpringBoot是由Pivotal团队提供的全新框架&#xff0c;其设计目的是用来简化Spring应用的初始搭建以及开发过程 原生开发SpringMVC程序过程 在没有SpringBoot前&#xff1a; 1.入门案例开发步骤 &#xff08;1&#xff09;创建新模块&#xff0c;选…

免费更新UltraNews v2.8.0 已注册 – Laravel报纸,博客多语言系统,支持AI作家,内容生成器脚本

UltraNews v2.8.0 已注册 – Laravel报纸&#xff0c;博客多语言系统&#xff0c;支持AI作家&#xff0c;内容生成器脚本 一、概述 在网络内容创作与管理领域&#xff0c;UltraNews v2.8.0以其高度现代化和多功能性而独树一帜。这是一个基于Laravel框架构建的报纸、博客多语言…