spring boot项目中i18n和META-INF.spring下的文件的作用

一、resource下的文件

  • org.springframework.boot.autoconfigure.AutoConfiguration.imports ; - spring.factories ; - messages_zh_CN.properties

在这里插入图片描述

在这里插入图片描述

二、i18n下messages_zh_CN.properties

i18n下messages_zh_CN.properties 下的文件是国际化的配置文件
Springboot国际化信息(i18n)解析

sys.user.update.passwordError=原密码错误,修改失败
sys.user.query.error=获取当前用户信息失败
sys.user.existing=用户已存在
sys.user.username.existing={0} 用户名已存在
sys.user.userInfo.empty={0} 用户信息为空

sys.dept.deptName.inexistence={0} 部门名称不存在

sys.post.postName.inexistence={0} 岗位名称不存在
sys.post.nameOrCode.existing={0} {1} 岗位名或岗位编码已经存在

sys.role.roleName.inexistence={0} 角色名称不存在
sys.role.nameOrCode.existing={0} {1} 角色名或角色编码已经存在

sys.param.delete.system=系统内置参数不能删除
sys.param.config.error={0} 系统参数配置错误

sys.menu.delete.existing=菜单含有下级不能删除

sys.app.sms.often=验证码发送过频繁
sys.app.sms.error=验证码错误
sys.app.phone.unregistered={0} 手机号未注册

sys.dict.delete.system=系统内置字典项目不能删除
sys.dict.update.system=系统内置字典项目不能修改

三、spring.factories文件

我们知道在spring boot项目中,只要用注解@Configuration、@Bean、@Compont等注解标注的类spring boot会自动为他们创建bean。同时被注解编注的类创建bean有一个前提,只对启动类所在的basepackage下的所有带有@Component等注解的类才会创建bean。(@ComponentScan默认只扫描同包、子包下的所有类)。spring boot 默认的包扫描范围

问题来了,如果是加入maven坐标依赖的jar包,就是项目根目录以外的Bean是怎么添加的??如果你了解过spring boot自动装配的原理,那么你可以很容易知道,在项目根目录以外的Bean,也就是导入的spring-boot-starter-***的maven依赖 是根据 /META-INF/spring.factories下的文件去进行加载的。

在这里插入图片描述

四、org.springframework.boot.autoconfigure.AutoConfiguration.imports

org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件功能与 spring.factories一样。都是用来加载自动装配的类。

注意:从spring boot2.7开始,慢慢不支持META-INF/spring.factories文件了
需要导入的自动配置类可以放在
/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件中,可以看下spring-boot-autoconfigure-2.7.0.jar下的这个文件。

org.springframework.boot.autoconfigure.AutoConfiguration.imports:

com.pig4cloud.pig.common.core.config.TaskExecutorConfiguration
com.pig4cloud.pig.common.core.config.JacksonConfiguration
com.pig4cloud.pig.common.core.config.RedisTemplateConfiguration
com.pig4cloud.pig.common.core.config.RestTemplateConfiguration
com.pig4cloud.pig.common.core.util.SpringContextHolder
com.pig4cloud.pig.common.core.config.WebMvcConfiguration
### META-INF.spring 目录的作用与配置 #### 文件结构概述 在 Spring Boot 应用程序中,`META-INF.spring`目录用于存储特定于框架的元数据文件其他资源。此目录可以包含多个子目录文件来扩展或自定义Spring Boot的行为。 #### 自动配置导入列表 `org.springframework.boot.autoconfigure.AutoConfiguration.imports` 最值得注意的是,在`META-INF/spring`目录下存在一个名为`org.springframework.boot.autoconfigure.AutoConfiguration.imports`的文件[^4]。该文件列出了所有需要被自动加载的应用场景对应的自动配置类名称。每当Spring Boot应用程序启动时,它会读取这个文件并将其中指定的类作为候选者参与条件化的bean创建过程。 ```properties # org.springframework.boot.autoconfigure.AutoConfiguration.imports com.example.demo.MyCustomAutoConfig,\ com.another.module.AnotherAutoConfig ``` 这种机制允许开发者轻松地向现有项目添加新的特性而无需修改核心代码库;只需提供相应的`.jar`包以及正确设置好的`AutoConfiguration.imports`即可让新组件无缝集成进来。 #### 国际化支持 i18n 下 messages_*.properties 文件 除了上述提到的主要用途外,`resources/META-INF/spring/i18n/`路径下的`messages_*`系列属性文件也属于这一范畴内的重要组成部分之一。它们负责为不同地区用户提供本地化的消息提示服务描述等内容。例如: - `messages_en_US.properties`: 英语(美国) - `messages_zh_CN.properties`: 中文(简体) 这些文件通常会被MessageSource接口所管理,并且可以根据用户的locale信息动态切换显示的语言版本。 #### 总结 综上所述,`META-INF.spring`及其下属各部分共同构成了Spring Boot强大的自动化配置体系的基础架构。通过合理利用这些内置特性外部可插拔式的拓展方式,开发人员能够更加高效便捷地构建现代化微服务架构的企业级解决方案。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值