/** * The super implementation ensures the basenames defined at the beginning take precedence. We require the opposite in * order to be in line with previous assumptions about the applicationContext merge process (meaning, beans defined in * later applicationContexts take precedence). Thus, this reverses <b>basenames</b> before passing it up to the super * implementation. * * @param basenames * @param resourceBundleExtensionPoint * @see {@link ReloadableResourceBundleMessageSource#setBasenames(String...)} */ @Resource(name="blMessageSourceBaseNames") @Override public void setBasenames(String... basenames) { CollectionUtils.reverseArray(basenames); super.setBasenames(basenames); }
/** * Override to obtain a local reference to the basenames. * * @see org.springframework.context.support.ReloadableResourceBundleMessageSource#setBasenames(java.lang.String[]) */ @Override public void setBasenames(String... basenames) { if (basenames == null) { this.basenames = new String[0]; } else { this.basenames = Arrays.copyOf(basenames, basenames.length); } //add module file urls to basenames used for locating message properties files Collection<Module> modules = ModuleFactory.getStartedModules(); if (!modules.isEmpty()) { String[] names = new String[this.basenames.length + modules.size()]; System.arraycopy(this.basenames, 0, names, 0, this.basenames.length); int index = this.basenames.length; for (Module module : modules) { names[index] = "jar:file:" + module.getFile().getAbsolutePath() + "!/messages"; index++; } basenames = names; } super.setBasenames(basenames); }
@Override public void setBasenames( String... baseNames ) { super.setBasenames( baseNames ); this.baseNames = baseNames; } }
@Override public void setBasenames(final String... basenames) { this.basenames = basenames; super.setBasenames(basenames); }
@Override @Autowired public void setBasenames( @Value("#{T(java.util.Arrays)" + ".asList('${message.bundle.basenames:classpath:custom_messages,classpath:messages}')}") final String... basenames) { this.basenames = basenames; super.setBasenames(basenames); }
public void setBasenames(String... basenames) { if (basenames != null) { this.basefilenames = new String[basenames.length]; for (int i = 0; i < basenames.length; i++) { String basename = basenames[i]; Assert.hasText(basename, "Basename must not be empty"); this.basefilenames[i] = basename.trim(); } } else { this.basefilenames = new String[0]; } super.setBasenames(basenames); }
@Bean public MessageSource messageSource() { ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setBasenames("classpath:/messages/business/message", "classpath:/messages/validation/message", "classpath:/messages/view/message"); return messageSource; }
@Bean public ReloadableResourceBundleMessageSource messageSource() { final ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); // other configurations messageSource.setBasenames("classpath:localization/messages"); return messageSource; }
@Bean public ReloadableResourceBundleMessageSource messageSource(){ ReloadableResourceBundleMessageSource messageSource=new ReloadableResourceBundleMessageSource(); String[] resources= {"classpath:labels","classpath:message"}; messageSource.setBasenames(resources); return messageSource; }
ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource= new ReloadableResourceBundleMessageSource(); reloadableResourceBundleMessageSource.setBasenames("classpath: filename-message");
@Override public void setBasenames(String... basenames) { if (basenames != null) { //解析资源basename List<String> basenameList = new ArrayList<String>(); for(String basename : basenames){ Assert.hasText(basename, "Basename must not be empty"); //解析资源basename basenameList.addAll(calculateFilenamesForBasename(basename)); } //对处理后的路径进行处理 this.basenames = new String[basenameList.size()]; for (int i = 0; i < basenameList.size(); i++) { this.basenames[i] = basenameList.get(i); } } else { this.basenames = new String[0]; } super.setBasenames(this.basenames); }
public void setLocations(String[] locations) { super.setLocations(locations); rbms.clearCache(); rbms.setBasenames(locations); }
public void setLocations(String[] locations) { super.setLocations(locations); rbms.clearCache(); rbms.setBasenames(locations); }
@Configuration public class LocalizationConfiguration { @Bean public MessageSource messageSource() { ReloadableResourceBundleMessageSource messages = new ReloadableResourceBundleMessageSource(); messages.setBasenames("classpath:beanValidation", "classpath:errors"); messages.setDefaultEncoding("UTF-8"); return messages; } }
@Configuration public class MessageSourceConfig { @Bean(name="messageSource") public ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource() { ReloadableResourceBundleMessageSource resource = new ReloadableResourceBundleMessageSource(); resource.setBasenames("classpath:/com/manuel/jordan/somethinga", "classpath:/com/manuel/jordan/validation/validation"); resource.setDefaultEncoding("UTF-8"); return resource; } }
@Bean(name = "messageSource") public ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource() { ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource = new ReloadableResourceBundleMessageSource(); reloadableResourceBundleMessageSource.setBasenames("classpath*:messages/", "classpath*:valid/validation"); reloadableResourceBundleMessageSource.setUseCodeAsDefaultMessage(false); reloadableResourceBundleMessageSource.setFallbackToSystemLocale(true); return reloadableResourceBundleMessageSource; }
rbms.setBasenames(fileBasenames.toArray(new String[fileBasenames.size()]));
// create the real bean ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setDefaultEncoding("UTF-8"); messageSource.setCacheSeconds(-1); messageSource.setBasenames("classpath:conf-test/messages"); // this folder is just for testing and it contains a messages_en.properties file // inject the bean into the class I wanted to test ReflectionTestUtils.setField(service, "messageSource", messageSource);
@Bean public MessageSource messageSource() { ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setBasenames( "classpath:messages" ); // if true, the key of the message will be displayed if the key is not // found, instead of throwing a NoSuchMessageException messageSource.setUseCodeAsDefaultMessage( true ); messageSource.setDefaultEncoding( "UTF-8" ); // # -1 : never reload, 0 always reload messageSource.setCacheSeconds( 0 ); return messageSource; }
messageSource.setUseCodeAsDefaultMessage(true); messageSource.setDefaultEncoding("UTF-8"); messageSource.setBasenames( //