Application의 기능 중에는 MessageSource도 있다.
메세지를 다국화 할 수 있는 인터페이스이다.
먼저 resources 밑에 원하는 언어의 messages.properties 파일을 만들어준다.(ex. 한글: messages_ko_KR.properties, 영어: messages_en.properties)
messages.properties 파일의 내용은 "key값"="value값
이 기본이며 원한다면 {0}, {1} 등을 추가하여 원하는 string을 추가해서 사용할 수도 있다.
그 후 ,MessageSource를 Bean 등록해준다. 이때 이름은 MessageSource messageSource로 해주어야한다.
ReloadableResourceBundleMessageSource 객체를 생성해주고, setBasename 메서드로 아까 만들어준 messages 프로퍼티가 존재하는 bundle을 가리키게 하고, 한글이 깨지지 않게 하기위해 UTF-8로 인코딩해준다.
그 후 getMessage 메서드를 사용해서 값을 가져올 수 있다.
첫 번째 인자는 .properties 파일에서 설정해준 key값이고, 두 번째 인자는 아까 {0}으로 표시해준 부분에 들어가는 string 값들이다. 세 번째인자는 어떤 properties 파일을 사용할건지 정해주는 것이다.
제대로 출력됨을 볼 수 있다.