Spring (52) 썸네일형 리스트형 Spring Core - Validation, Data binding 추상화 Content Validation data binding propertyEditor Converter Formatter Validation 객체 검증용 인터페이스 validation 용 annotation 을 사용해서 객체들을 검증 할 수 있다. Java EE 스펙 중 하나다 이미 스프링 부트에서는 LocalValidatorFactoryBean 이 자동으로 등록되어있어서 이미지 처럼 하이버네이트 밸리데이터를 사용할 수 있다. data binding 사용자의 입력 값을 어플리케이션 모델에 동적으로 변환해 넣어주는 기능이라고 할 수 있다. 입력값은 거의 String 으로 들어오는데 이걸 객체에 맞게 int,long,boolean 또는 객체등으로 변환해서 넣어주는 기능들이다. PropertyEditor 스프링.. Spring Core - Resource 추상화 Contents Resource Spring reference 에서 많이 나오는 추상화 개념 Spring 에서 추상화시킨 기능들을 알아보자 Resource - java.net.URL 을 추상화 시킨 것 왜 만들었을까? 기존에 URL 클래스에서는 classpath 에서 가져오는 기능이 없었다. classpath 에서 파일들을 쉽게 가져오기 위해 기존에 사용되던 ClassPathXmlApplicationContext 에서도 내부적으로는 resourceLoader 로 getResource를 가져오고 있었다. getResource 로 데이터를 가져올때는 classpath: 라던지 file:/// 라고 명시적으로 적어주는게 좋다 Spring Core - Application Context 의 기능들 Contents Environment MessageSource ResourceLoader Environment applicationContext 는 bean factory의 기능 외에도 여러가지 기능이 있다. Environment 는 그 기능들 중 하나 EnvironmentCapable 은 2가지 기능으로 profile 과 propertie가 있는데 그 중 한가지인 Profile 기능에 대해서 봐보겠다. Profile Profile 은 bean 들의 묶음인데 특정 환경에서는 이런 bean 들을 쓰겠다 하고 선언을 할 수 가 있다. 빈에 profile을 설정해두면 해당 빈은 test profile 로 들어왔을 경우에만 사용가능 하다. Propertie 이런식으로 가져와서 쓸 수 있다. 스프링 부트에서는 P.. Spring Core - bean 의 스코프 Contents bean의 스코프 종류 proxyMode? singleton 의 주의사항 빈의 스코프 빈에는 스코프라는게 있다. 스코프의 종류 싱글톤 프로토타입 Request Session WebSocket 빈의 default는 싱글톤이다. 싱글톤 - 해당 빈의 인스턴스가 오직 1개 뿐이다. 프로토 - 새로운 인스턴스를 계속 만들어서 사용하는 스코프 프로토타입의 객체를 찍어보면 계속 다른 객체가 나온다. *주의할점 ProtoType 의 객체에서 싱글톤 객체를 참조할때는 아무런 문제 없다. 하지만, 반대의 경우엔? 이 경우엔 문제가 있을 수 있다. 최초 한번만 만드는 객체라 안에있는 proto가 계속 동일한 객체를 가지게 된다. 이 문제를 해결하기 위한 방법으로는 proxyMode 를 쓸 수 있다. 기본값.. Spring Core - Annotation Contents Autowire ComponentScan @Autowire Autowire 의 동작원리 @BeanPostProcessor 의 인터페이스 중 AutowiredAnnotationBeanPostProcessor 가 동작하면서 채워주게 된다. applicationContext 가 @BeanPostProcessor 들을 찾는다. 그 중에 AutowiredAnnotationBeanPostProcessor 가 있는데 , 일반 bean 들에 이걸 적용을 하는 거라고 볼 수 있다. 그냥 이런게 있다 정도만 알아두자 빈을 찾아 주입 하는 방법들에 대해 알아보자 생성자 주입 세터 주입 필드 주입 이것들은 너무 많이 본것들이라 예시는 생략하도록 하겠다 중복되는 타입이 있을 경우엔 @Primary Qualifi.. Spring Core - IOC 컨테이너와 빈 -Contents - IOC 컨테이너란? - 빈이란? - applicationContext의 설정방식 IOC 컨테이너란? 의존 관계 주입이라고도 하며, 객체를 직접 생성시키는게 아니라 어떤 장치를 통해서 주입을 받아서 사용하는 방법을 IOC 라고 한다. 빈이란? IOC 컨테이너가 관리 하는 객체라고 할 수 있다. 그렇다면, 객체를 직접 생성시키지 않고 왜 컨테이너가 빈을 관리 하게 했을까? 객체를 빈으로 등록되면 장점- 의존성 주입 빈의 스코프 관리 빈의 라이프사이클 관리 의존성 주입을 하는 장점은 만약 테스트를 하려고 할때 한 객체가 다른 객체의 의존성을 가지고 있을때 의존 객체를 생성 시켜야지 테스트를 할 수 있는데 객체 수가 많아질수록 단위테스트를 하기 힘들어진다. 이걸 의존 주입을 통해 mock .. [reference] Spring Framework Core - Bean 다시 reference 를 읽어 보는 시간을 가져보자 1.3. Bean Overview 컨테이너에 제공한 configuration metadata 로 Bean 이 생성된다. 1.3.1. Naming Beans bean 의 식별자가 있는데 , 이 식별자는 컨테이너 안에서는 고유해야한다. bean 에 이름을 제공하지 않으면 컨테이너가 고유한 이름을 붙이는데, 이름별로 bean 을 참조 하고 싶으면 , 고유한 이름을 적어줘야한다. * bean 의 컨벤션 - 낙타표기법 alias 도 사용이 가능하다 만약 자바 어노테이션으로 bean 을 생성했을 경우에는 와 같이 만들어 진다고 보면 된다. [reference] Spring Framework Core - Container 스프링 프레임워크의 레퍼런스를 읽어보는 시간을 가져보자 1. The IoC Container 스프링프레임워크가 구현한 IOC 의 원칙을 알아보자 IOC 는 DI (의존성 주입) 이라고도 한다. dependency 를 가지는 객체는 오직 factory method 로 부터 주입이 된다. 그러면 IOC 컨테이너는 빈을 생성하는 시점에 그들의 종속성을 주입시키게 된다. 근본적으로 Service Locator 패턴과 같다고 한다. beans 와 context 패키지는 스프링 IOC 컨테이너의 기본이다. BeanFactory 인터페이스는 모든 타입의 Object 를 관리할 수 있는 고급 구성 메카니즘을 가지고 있다. ApplicationContext 인터페이스는 BeanFactory 의 sub-interface .. 이전 1 2 3 4 5 6 7 다음 목록 더보기