오봉이와 함께하는 개발 블로그
스프링 MVC 2 - 스프링 메시지 소스 설정 본문
728x90
스프링 메시지 소스 설정
메시지 관리 기능을 사용하려면 스프링이 제공하는 MessageSource를 스프링 빈으로 등록하면 되는데, MessageSource는 인터페이스이다.
따라서 구현체인 ResourceBundleMessageSource를 스프링 빈으로 등록하면 된다.
직접 등록
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasenames("messages", "errors");
messageSource.setDefaultEncoding("utf-8");
return messageSource;
}
- basenames : 설정 파일의 이름을 지정한다.
- messages로 지정하면 messages.properties 파일을 읽어서 사용한다.
- 국제화 기능을 사용하려면 messages_en.properties, messages_ko.properties와 같이 파일명 마지막에 언어 정보를 주면 된다.
- 찾을 수 있는 국제화 파일이 없으면 messages.properties(언어 정보가 없는 파일명)를 기본으로 사용한다.
- 파일의 위치는 /resources/messages.properties에 두면 된다.
- 여러 파일을 지정할 수 있다.
- 여기서는 messages, errors 둘을 지정했다.
- defaultEncoding : 인코딩 정보를 지정한다.
- utf-8을 사용하면 된다
스프링 부트
스프링 부트를 사용하면 스프링 부트가 MessageSource를 자동으로 스프링 빈에 등록한다.
스프링 부트 메시지 소스 설정
스프링 부트를 사용하면 다음과 같이 메시지 소스를 설정할 수 있다.
application.properties
spring.messages.basename=messages,config.i18n.messagesmessages : /resources/messages 경로
config.i18n.messages : /resources/config/i18n/messages.properties
스프링 부트 메시지 소스 기본 값spring.messages.basename=messages
MessageSource를 스프링 빈으로 등록하지 않고 스프링 부트와 관련된 별도 설정을 하지 않으면 messages라는 이름으로 기본 등록된다.
따라서 messages_en.properties, messages_ko.properties, messages.properties파일만 등록하면 자동 인식된다.
메시지 파일 만들기
- messages.properties : 기본 값(한글)
- messages_en.properties : 영어 국제화 사용
/resources/messages.properties
hello=안녕
hello.name=안녕 {0}/resources/messages_en.properties
hello=hello
hello.name=hello {0}{0}는 파라미터를 받을 때 사용된다.
출처 : 인프런 김영한 지식공유자님 강의 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
728x90
'BE > Spring' 카테고리의 다른 글
| 스프링 MVC 2 - 검증(Validation) 요구사항 (0) | 2022.08.18 |
|---|---|
| 스프링 MVC 2 - 스프링 메시지 소스 사용 (0) | 2022.08.18 |
| 스프링 MVC 2 - 메시지, 국제화 (0) | 2022.08.18 |
| 스프링 MVC 1 - PRG(Post/Redirect/Get), RedirectAttribute (0) | 2022.08.15 |
| 스프링 MVC 1 - @ModelAttribute (0) | 2022.08.15 |
Comments