메시지와 국제화

wangjh789·2022년 8월 7일
0

[Spring] 스프링-mvc-2

목록 보기
1/11

다양한 메시지를 한 곳에서 관리하도록 하는 기능을 메시지라고 한다.
한발 더 나아가 언어별로 메시지를 관리하는 것을 국제화 라고 한다.

스프링 메시지 소스 사용

spring.messages.basename=messages

application.properties 내에 입력 (생략 가능)

# meessages.properties
hello=안녕
hello.name=안녕 {0}
	// 메시지를 가져오는 방법
	@Test
    void helloMessage() {
        String hello = ms.getMessage("hello", null, null);
        assertThat(hello).isEqualTo("안녕");
    }
	// 존재하지 않는 메시지를 가져올 때 에러 발생
    @Test
    void notFoundMessageCode() {
        assertThatThrownBy(() -> ms.getMessage("no_code", null, null))
                .isInstanceOf(NoSuchMessageException.class);
    }
	// 존재하지 않는 메시지를 가져올 때 기본값 대체
    @Test
    void notFoundMessageCodeDefaultMessage() {
        String message = ms.getMessage("no_code", null, "기본메세지", null);
        assertThat(message).isEqualTo("기본메세지");
    }
	// 메시지에 파라미터 사용
    @Test
    void argumentMessage() {
        String message = ms.getMessage("hello.name", new Object[]{"Spring"}, null);
        assertThat(message).isEqualTo("안녕 Spring");
    }
profile
기록

0개의 댓글