프로그래밍/Spring & Spring boot
11 Spring : MessageSource를 통한 다국어 처리하는 방법
pupu91
2022. 9. 2. 16:16
반응형
1. properties 파일에 영문과 한글로 message 작성
2. bean 등록
@Configuration
public class ContextConfiguration {
ReloadableResourceBundleMessageSource타입의 빈을 생성
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
접속하는 세션의 로케일에 따라 자동 재로딩하는 기능을 가진 MessageSource 구현체
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
다국어 메세지를 읽어올 properties 파일의 기본 파일 이름을 설정한다
messageSource.setBasename("message");
기본 인코딩 셋을 설정할 수 있다.
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
3. 확인하기
public class Application {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(ContextConfiguration.class);
String error404Message = context.getMessage("error.404", null, Locale.US);
String error500Message = context.getMessage("error.500", new Object[] {"byeollim", new Date()}, Locale.KOREA);
=>properties파일 작성시 지정했던 인덱스 번호에 값을 넣어주었음.
System.out.println("error.404 : " + error404Message);
System.out.println("error.500 : " + error500Message);
}
}
출력결과
error.404 : Page Not Found!!
error.500 : 개발자의 잘못입니다. 개발자는 누구? byeollim 현재시간 22. 9. 2. 오후 4:15
반응형