Spring - Data Binding(2) - Converter와 Formatter

Data Binding 추상화 - Converter와 Formatter Spring 3.0에 도입되었으며 이상 버전에서 사용 가능하다. Data Binding(1) - PropertyEditor 에서 배운 PropertyEditor가 가지고 있는 단점을 보완하였다. Converter Source 타입을 Target 타입으로 변환할 수 있는 매우 일반적인 변환기이다. 상태 정보가 없다 = Stateless하다...

Spring - Data Binding(1) - PropertyEditor

Data Binding 추상화 - PropertyEditor Data Binding 이란 ? 기술적인 관점 : 프로퍼티 값을 타겟 객체에 설정하는 기능 사용자 관점 : 사용자 입력값을 애플리케이션 도메인 모델에 동적으로 변환해 넣어주는 기능 입력값은 대부분 문자열인데, 그 값을 객체가 가지고 있는 int, long,...

Spring - Resource와 Validation

Spring의 Resource와 Validation의 추상화 Resource의 추상화 org.springframework.core.io.Resource java.net.URL 클래스를 감싸 Low Level에 있는 Resource에 접근하능 기능을 만들었다. 추상화 한 이유 클래스패스 기준으로 리소스 읽어오는 기능 부재 ServletContext를 기준으로 상대 경로로 읽어오는 기능 부재 새로운 핸들러를 등록하여 특별한 URL 접미사를 만들어...

Spring - IoC-Container(8) - ResourceLoader

ResourceLoader Resource를 Load하는 interface를 ApplicationContext가 상속받아 구현하여 ResourceLoader 역할을 수행할 수 있다. ResourceLoader를 사용한 간단한 예제 1. Resource 폴더에 test.txt 생성 test.txt hello 2. Application Runner에서 ResourceLoader 사용해 Resource 가져오기 appRunner.java @Component public class AppRunner implements ApplicationRunner { @Autowired ResourceLoader...

Spring - IoC-Container(7) - Application EventPublisher

ApplicationEventPublisher ApplicationContext는 이벤트 프로그래밍에 필요한 인터페이스 제공한다. (옵저버 패턴 구현체) Event를 만드는 방법 Spring 4.2 미만의 버전에서는 ApplicationEvent를 상속받아야 했지만 이상의 버전에서는 상속받지 않아도 사용할 수 있다. 4.2 버전 미만 MyEvent.java public class MyEvent extends ApplicationEvent { private int data;...