스프링 3

Spring의 *Aware 인터페이스들에 대한 정리

개요XyzAware 인터페이스는 setXyz(Xyz) 메서드를 가지는 규약이 있어 보인다.메서드를 구현하면, IoC 컨테이너에 의해 콜백 호출된다.종류와 메서드ApplicationContextAware메서드: setApplicationContext(ApplicationContext applicationContext)ApplicationEventPublisherAware메서드: setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)BeanClassLoaderAware메서드: setBeanClassLoader(ClassLoader classLoader)BeanFactoryAware메서드: setBeanFactory(..

MessageSource의 한글 깨짐 해결하기

아래 코드와 같이, messageSource 빈을 ResourceBundleMessageSource로 생성하면, message.properties 파일에 기재한 한글이 깨지는 경우가 발생하는데, 이는 인코딩 문제일 가능성이 거의 99%다.@Beanpublic MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasename("messages"); return messageSource;} IntelliJ를 사용하는 경우라면, 다음과 같이 설정하면 해결된다.Editor > File Encodings 진입 후, Tra..

@Value 어노테이션에 SpEL 사용법

0. 용어SpEL : Spring Expression Language 1. @Value("${...}")1.1. 프로퍼티 파일에 정의된 값 주입application.properties 파일에 app.name으로 정의된 문자열을 주입할 수 있다.파일에 정의가 없을 경우에 대한 기본값을 제공할 수 있다.@Value("${app.verion:1.0}")private String appVersion; 1.2. 환경 변수 값 주입환경 변수로 정의된 값을 주입할 수 있다.@Value("${JAVA_HOME}")private String javaHome; 2. @Value("#{...}")2.1. bean 주입"myBean" 으로 명명된 bean을 주입할 수 있다.@Value("#{myBean}")private My..