더북(TheBook)

이제 메시지와 @Beans 애너테이션을 구현했으므로 메시지 리소스를 호출하도록 컨트롤러나 서비스에서 코드를 업데이트할 수 있다. 코드 3-9에서 이 작업을 살펴보자.

코드 3-9 MessageSource 메시지를 검색하는 서비스(LicenseService.java) 코드 변경하기

@Autowired
MessageSource messages;

public String createLicense(License license, 
                            String organizationId, 
                            Locale locale) {  
    String responseMessage = null;
    if (!StringUtils.isEmpty(license)) {
        license.setOrganizationId(organizationId);
        responseMessage = String.format(messages.getMessage(
                          "license.create.message", null, locale),
                           license.toString());  
    }

    return responseMessage;
}

public String updateLicense(License license, String organizationId) {
    String responseMessage = null;
    if (!StringUtils.isEmpty(license)) {
        license.setOrganizationId(organizationId);
        responseMessage = String.format(messages.getMessage(
                          "license.update.message", null, null), 
                           license.toString()); 
    }
    return responseMessage;
}

➊ 메서드 매개변수로 로케일을 전달받는다.

➋ 특정 메시지를 조회하기 위해 전달된 로케일로 설정한다.

➌ 특정 메시지를 조회하기 위해 NULL 로케일을 전달한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.