스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 공부하고 정리하는 포스트입니다.


메시지

  • 흩어져 있는 메시지들을 한 곳에서 관리하도록 하는 기능

국제화

  • 접속한 나라에 맞춰서 별도로 메시지를 관리하는 기능

  • 위의 두 기능 모두 스프링에서 제공함

스프링 메시지

  • 메시지 관리 기능을 사용하려면 스프링이 제공하는 MessageSource를 스프링 빈으로 등록하면 됨
    • MessageSource는 인터페이스이므로, 구현체를 등록
@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
    • 여러 파일 한 번에 지정 가능
  • defaultEncoding : 인코딩 정보를 지정

스프링 부트

  • 스프링 부트를 사용하면 자동으로 스프링 빈으로 등록

  • application.properties에 다음과 같이 설정

spring.messages.basename=messages