본문 바로가기

Spring62

[Spring] Validation이란? Validation 이란? -애플리케이션에서 사용하는 객체들을 검증할 때 사용하는 interface. -실제 검증보단 간단한 검증을 위한 @(어노테이션)을 사용하고 @으로 검증할 수 없는 복잡한 검증 과정이 필요한 경우, 사용자가 검증을 커스텀하기 위해 구현한다. Event public class Event { Integer num; // null 이면 안됨 String title; ​ public Integer getNum() { return num; } ​ public void setNum(Integer num) { this.num = num; } ​ public String getTitle() { return title; } ​ public void setTitle(String title) { th.. 2020. 1. 13.
[Spring] ApplicationEventPublisher란? 1.ApplicationEvnetPublisher 란? ->디자인 패턴 중 하나인 Observer Pattern과 유사한 기능을 합니다. 다시 말해 Spring Framework를 통해 손쉽게 Observer Pattern을 구현하는 것입니다. 2.언제 사용하나요? (관련 글 - https://www.javacodegeeks.com/2012/08/observer-pattern-with-spring-events.html) Observer Pattern을 사용할 때를 떠올리면 됩니다. 이벤트를 발생하는 Publisher와 이를 구독하는 Observer(or Subscriber)사이의 결합도를 낮추면서도 이벤트를 Observer에게 전달을 하고싶을 때 사용하게 됩니다. 3.구조 3.1ApplicationEve.. 2020. 1. 13.
[Spring] Environment 프로파일이란? IoC 컨테이너의 Environment에 대해서 알아보겠습니다. Environment는 ApplicationContext가 가지고있는 기능중 하나로 Application에 등록되어있는 여러 환경들을 제어하고 이용할 수 있도록 도와주는 기능입니다. *ApplicationContext - IoC 컨테이너가 갖추어야 할 기능들을 정의하고 있는 인터페이스로 다른 추가적인 기능들을 상속받고 있습니다 그 중 하나가 바로 EnvironmentCapable입니다. Environment의 기능 1. Profile Profile이란 환경에 따라 필요한 Bean들이 달라질 수 있는데 이것을 쉽게 관리할 수 있도록 도와주는 기능입니다. 예를 들어 Test 환경에서 사용할 Bean들과 Develop중 사용할 Bean들 그리고 .. 2020. 1. 13.
[Spring] Bean의 Scope Bean의 Scope이란? -Bean의 Scope란 Bean의 생성방식을 결정하는 것입니다. ex) Scope에 따라서 Bean이 Application당 1개만 생성(singleton방식)되거나, 필요할 때마다 새로 생성을 한다던지 하는 그런한 방식을 의미합니다. ※ single ton ? - 해당 애플리케이션 전반에 걸쳐서 해당 bean의 instance가 오직 1개뿐인 경우. 2. Bean의 Scope 종류 Singleton 어플리케이션이 동작하는동안 단 한개만 만들어진다는 의미입니다. Spring에서의 Bean들은 별도의 설정이 없다면 기본적으로 Singleton으로 생성이 됩니다. 즉, 지금까지 생성했던 Bean들은 모두 Singleton으로 주입이 되었던 것입니다. 예제를 통해 조금 더 자세히 .. 2020. 1. 13.
[Spring] @Component Scan 컴포넌트 스캔? @Componentscan -@Component어노테이션 및 streotype(@Service, @Repository, @Controller.)어노테이션이 부여된 Class들을 자동으로 Scan하여 Bean으로 등록해주는 역할을 하는 어노테이션입니다. 이전 xml파일에 를 이용해 지정해주었던 것을 Java파일을 이용하여 bean을 scan하기 위해서 생겨났습니다. 예제 1. 프로젝트 구조 Application Class : Main ApplicationConfig Class: Bean설정을 어노테이션 기반으로 처리하기 위한 클래스 BookRepository Class: Bean으로 등록되기 위한 Class 2. Class 2.1 BookRepository @Repository public class Bo.. 2020. 1. 13.
[Spring] @Autowired 란? @Service란, bean등록을 위해 명시해주는 애노테이션이다. [ @Repository ] OR [ @Component ] ->구분해서 사용하자 ! why ? 서비스에 bean 주입이 가능하며 애노테이션이 붙어있는 특정한 기능을 실행할 수 있고, AOP에서 사용하기에도 좋다. Autowired란? -필요한 의존 객체의 "타입"에 해당한느 빈을 찾아 주입한다. [ @Autowired ] - required : 기본값 : true (못 찾으면 구동 실패 ) [ 사용할 수 있는 위치 ] -생성자 (스프링 4.3부터는 생략 가능) -setter - filed [ 경우의 수 ] -해당 타입의 빈이 없는 경우 -해당 타입의 빈이 한 개인 경우 -해당 타입의 빈이 여러개인 경우 -> 빈 이름으로 시도, - 같은 .. 2020. 1. 12.