2024/11 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..

Spring AOP Introduction 기능을 활용하여 Mixin을 구현해 보자

1. 우선, Robot 타입의 bean을 정의한다.@Componentpublic class Robot { public void performTask() { System.out.println("Performing a task."); }}  2. Robot 타입의 bean의 기능을 추가할 인터페이스들과 구현 클래스 하나씩을 정의한다.public interface Flyable { void fly();}public class FakeFlyable implements Flyable { @Override public void fly() { System.out.println("Flying high in the sky!"); }}public interface ..