为什么消息 属性 return 在 Spring MVC 中为空
Why message property return Null in Spring MVC
我正在做一个项目,我想在其中外化 消息。属性 文件。以便运营团队可以根据需要进行更改。
为此我写了一个这样的配置class
@Configuration
@ComponentScan(basePackages = {"lk.ideahub.symphony.modules", "lk.ideahub.symphony.product"})
@PropertySources(value = {@PropertySource(value = {"classpath:messages.properties"})})
public class MessageConfig {
private static final Logger log = LoggerFactory.getLogger(MessageConfig.class);
@Bean
public MessageSource messageSource() {
log.info("Message properties loading into the project");
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setCacheSeconds(10);
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
在邮件属性中
axipay.failure.account.already.exist=Sorry, the biller account number is already added.
在我的class
public Payee myPayees{
//Asking the property into a variable
private static final String PAYEE_ACCOUNT_ALREADY_EXIST = "axipay.failure.account.already.exist";
@Autowired
Environment environment;
public void myMethod(){
String message = getEnvironment().getProperty(PAYEE_ACCOUNT_ALREADY_EXIST);
}
}
你可以使用spring提供的MessageSource Bean
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/MessageSource.html
@Autowired
private MessageSource messageSource;
//use this method to get message
public String getMessage(){
return messageSource.getMessage("axipay.failure.account.already.exist", null, new Locale("en"));
}
我正在做一个项目,我想在其中外化 消息。属性 文件。以便运营团队可以根据需要进行更改。
为此我写了一个这样的配置class
@Configuration
@ComponentScan(basePackages = {"lk.ideahub.symphony.modules", "lk.ideahub.symphony.product"})
@PropertySources(value = {@PropertySource(value = {"classpath:messages.properties"})})
public class MessageConfig {
private static final Logger log = LoggerFactory.getLogger(MessageConfig.class);
@Bean
public MessageSource messageSource() {
log.info("Message properties loading into the project");
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setCacheSeconds(10);
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
在邮件属性中
axipay.failure.account.already.exist=Sorry, the biller account number is already added.
在我的class
public Payee myPayees{
//Asking the property into a variable
private static final String PAYEE_ACCOUNT_ALREADY_EXIST = "axipay.failure.account.already.exist";
@Autowired
Environment environment;
public void myMethod(){
String message = getEnvironment().getProperty(PAYEE_ACCOUNT_ALREADY_EXIST);
}
}
你可以使用spring提供的MessageSource Bean https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/MessageSource.html
@Autowired
private MessageSource messageSource;
//use this method to get message
public String getMessage(){
return messageSource.getMessage("axipay.failure.account.already.exist", null, new Locale("en"));
}