中国建设银行上海分行信息网站,网络设置的网站,深圳做网站推荐哪家公司好,深圳物联网开发Spring Boot 启动时修改上下文
为了让项目在启东时#xff0c;加载到封装的JAR中的国际化文件在封装JAR是增加以下配置类可用于更改启动上下文中的信息依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-autoco…Spring Boot 启动时修改上下文
为了让项目在启东时加载到封装的JAR中的国际化文件在封装JAR是增加以下配置类可用于更改启动上下文中的信息依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-autoconfigure/artifactIdversion2.7.18/version/dependency示例
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.Ordered;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.Environment;
import org.springframework.core.env.MapPropertySource;import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Set;public class EnviromentAutoConfigration implements ApplicationContextInitializerConfigurableApplicationContext, Ordered {Overridepublic int getOrder() {return Integer.MAX_VALUE;}Overridepublic void initialize(ConfigurableApplicationContext applicationContext) {ConfigurableEnvironment environment applicationContext.getEnvironment();HashMapString, Object properties new HashMap();properties.put(spring.messages.basename, getMessagesBasenameProperty(environment));MapPropertySource propertySource new MapPropertySource(, properties);environment.getPropertySources().addFirst(propertySource);}
/*
*读取指定的国际化文件
*/private static String getMessagesBasenameProperty(Environment environment) {LinkedHashSetObject basenames new LinkedHashSet();String basenameString environment.getProperty(spring.messages.basename);if (StringUtils.isNoneBlank(basenameString)) {basenames.addAll(Set.of(basenameString.split(,)));}basenames.add(messages/xxx_messages);return String.join(,,basenames);}
}resources目录下META-INF文件夹spring.factories文件配置指定类
#上下文环境配置这个会先读取
org.springframework.cloud.BootstrapConfigurationxxx.EnviromentAutoConfigration
#读取Configuration注解的配置文件
org.springframework.boot.autoconfigure.EnableAutoConfiguration