@Configuration public class ApplicationConfigurer { private static Logger logger = Logger.getLogger(ApplicationConfigurer.class); public static final String SPRING_CONFIG_LOCATION = "spring.config.location"; /** * 自定义配置加载,方法定义为static的,保证优先加载 * @return */ @Bean public static PropertyPlaceholderConfigurer properties() { final PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer(); ppc.setIgnoreResourceNotFound(true); final List<Resource> resourceLst = new ArrayList<Resource>(); if(System.getProperty(SPRING_CONFIG_LOCATION) != null){ String configFilePath = System.getProperty(SPRING_CONFIG_LOCATION); String[] configFiles = configFilePath.split(",|;"); FileSystemResource res =null; for (String configFile : configFiles) { if (configFile.startsWith("file:")){ resourceLst.add(new FileSystemResource(configFile)); }else { resourceLst.add( new ClassPathResource(configFile)); } } }else { resourceLst.add(new ClassPathResource("config/application.properties")); resourceLst.add(new ClassPathResource("config/kafka.properties")); } ppc.setLocations(resourceLst.toArray(new Resource[]{})); return ppc; } }
spring boot 自定义 PropertyPlaceholderConfigurer
猜你喜欢
转载自aftertoday.iteye.com/blog/2422716
今日推荐
周排行