Message를 다국화할 수 있는 기능을 제공하는 Interface이다.
스프링 부트에서는 ApplicationContext는 MessageSource 인터페이스를 상속받고 있기 때문에 빈으로 등록이 되어있다.
messages_?.properties 를 통해서 국가별로 설정을 할 수 있다.
MessageSource 직접 설정하기
@Bean public MessageSource messageSource(){ ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setBasename("classpath:/messages"); messageSource.setDefaultEncoding("UTF-8"); messageSource.setCacheSeconds(10); return messageSource; }
위의 코드는 ReloadableResourceBundleMessageSource객체의 메세지 리로딩 방법을 나타내는 코드이며 리로딩한 설정 파일을 10초간 캐싱한다.