오봉이와 함께하는 개발 블로그
스프링 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.messages
messages : /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