SpringIOC之AbstractMessageSource

博主介绍:✌全网粉丝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 获取本地化消息:

java 复制代码
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 用于从属性文件中加载消息。

相关推荐
啾啾Fun17 分钟前
Java反射操作百倍性能优化
java·性能优化·反射·缓存思想
20岁30年经验的码农24 分钟前
若依微服务Openfeign接口调用超时问题
java·微服务·架构
曲莫终32 分钟前
SpEl表达式之强大的集合选择(Collection Selection)和集合投影(Collection Projection)
java·spring boot·spring
ajassi20001 小时前
开源 java android app 开发(十二)封库.aar
android·java·linux·开源
q567315231 小时前
Java使用Selenium反爬虫优化方案
java·开发语言·分布式·爬虫·selenium
kaikaile19951 小时前
解密Spring Boot:深入理解条件装配与条件注解
java·spring boot·spring
广州山泉婚姻1 小时前
解锁高效开发:Spring Boot 3和MyBatis-Flex在智慧零工平台后端的应用实战
人工智能·spring boot·spring
守护者1701 小时前
JAVA学习-练习试用Java实现“一个词频统计工具 :读取文本文件,统计并输出每个单词的频率”
java·学习
bing_1581 小时前
Spring Boot 中ConditionalOnClass、ConditionalOnMissingBean 注解详解
java·spring boot·后端
ergdfhgerty1 小时前
斐讯N1部署Armbian与CasaOS实现远程存储管理
java·docker