Archive: 2020
13.데이터 바인딩 추상화
데이터 바인딩 추상화: Converter와Formatter이전강의에서 봤던 PropertyEditor의 단점으로 인해 Converter와Formatter가 생겨났다 PropertyEditor의 단점 쓰레드 세이프하지 않음 무조건 스트링과 오브젝트의 관계이다. 즉 스트링을 오브젝트로 하거나 오브젝트를 스트링으로 변환하거나 밖에 못함.getAsText() 메소
12.데이터바인딩 추상화
데이터바인딩 추상화데이터 바인딩 :어떤 프로퍼티의 값을 타겟 객체에 설정하는것.즉 사용자가 입력한 값을 어플리케이션 객체 도메인에 동적으로 입력하는것쉽게말하자면 입력값은 문자열인데 int,long, boolean, Book, Event 등과 같은 이벤트 타입으로변환해서 넣어주는 기능 고전적인 방식123456789101112public class Event&
11.Validation 추상화
Validation 추상화자바 EE 표준스펙중에 하나이다. org.springframework.validation.Validator는 어플리케이션에서 사용하는 객체 검증용 인터페이스이다. boolean supports(Class clazz): 검증하는것을 지원하는지 판단void validate(Object obj, Errors e): 실제 검증 로직을 이
10.Resource 추상화
지금까지 ApplicationContext는 단순한 빈 팩토리가아니라 여러가지 기능을 하는것을 알아봤었다. Resource 추상화지금까지는 IoC에 대해 살펴봤다면 지금부터는 추상화에 대해 알아보겠다 스프링에서는 Reosurce(org.springframework.core.io.Resource)를 추상화 하였다. java.net.URL를 Resource라는
9.ResourceLoader
리소스를 읽어오는 기능을 제공하는 인터페이스인 ResourceLoader를 ApplicationContext이 구현한다. test.txt 파일을 리소스 안에 넣어주자. AppRunner.java12345678910public class AppRunner implements ApplicationRunner{ @Autowired ResourceLo
8.ApplicationEventPublisher
ApplicationContext가 상속받고있는 ApplicationEventPublisher인터페이스로서 이는 이벤트 프로그래밍에 필요한 인터페이스이다. MyEvent를 만들고 MyEvent.java12345678910111213141516public class MyEvent implements ApplicationEvent{ private i
7.MessageSource
ApplicationContext가 갖고있는 또다른 기능인 MessageSource에 대해 알아보겠다.ApplicationContext가 MessageSource 인터페이스를 구현한다. i18n와 관련된 기능인데 메세지를 다국화 하는 기능이다. 스프링 부트를 사용한다면 아래 두개를 바로 만들어 사용할 수 있다. messages.properties1greet