1. Messages.properties 파일 생성하기
resources 폴더 밑에 messages.properties 파일을 생성한다.
파일은 messages_언어.properties
2.Spring에 MessageSource 설정하기
Config.java
@Configuration
@EnableWebMvc
@ComponentScan(
basePackages="com.example.app"
)
public class Config extends WebMvcConfigurerAdapter{
@Bean
public MessageSource messageSource(){
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasenames("messages/messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocaleChangeInterceptor localeChangeInterceptor(){
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
localeChangeInterceptor.setParamName("lang");
return localeChangeInterceptor;
}
@Bean(name = "localeResolver")
public LocaleResolver sessionLoacleResolver(){
SessionLocaleResolver localeResolver = new SessionLocaleResolver();
localeResolver.setDefaultLocale(Locale.ENGLISH);
return localeResolver;
}
@Override
public void addInterceptors(InterceptorRegistry registry){
registry.addInterceptor(localeChangeInterceptor());
}
}
WebMvcConfigurerAdapter 상속받은 Config.java MessageSource 설정을 진행한다.
3. 사용하는 방법
@Autowired
private MessageSource messageSource;
MessageSource를 사용하기위해 DI(Dependency Injection) 하여 사용한다.
MessageSource Method 인자 설명
String getMessage(String code, Object[] args, String defaultMessage, Locale locale);
code : 프로퍼티에서 설정한 key 값
args : key에 해당하는 value값에 {0}, {1} 등으로 매핑되는 값
defaultMessage : key 값을 찾지 못할 경우 표출될 값
locale : 지역코드 값
사용예
String message = messageSource.getMessage("com.button", null, locale);
'개발이야기' 카테고리의 다른 글
깃허브 private 저장소 무료로 풀리다. [GitHub Private repo Free] (0) | 2019.01.08 |
---|---|
Selenium 처음사용하기 (0) | 2018.11.01 |
Lombok이란? (0) | 2018.10.30 |
10. 드래그 구현하기 (1) (0) | 2018.10.29 |
java.sql.SQLException : ORA-00942: 테이블 또는 뷰가 존재하지 않습니다. (0) | 2018.10.29 |