이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
테스트 환경에서는 A Bean을 사용하고
실제 환경에서는 B Bean을 사용하고 싶을 경우
Profile로 설정이 가능하다.
그리고 이런 Profile 설정을
ApplicationContext가
extends하는
EnvironmentCapable 클래스에서 지원해준다.
ApplicationContext.class
public interface ApplicationContext extends EnvironmentCapable, ... {
...
}
EnvironmentCapable.class
public interface EnvironmentCapable {
Environment getEnvironment();
}
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
Proxy 객체를 생성하는 방식은
대상 객체가 Interface 구현 여부에 따라 달라진다.
대표적으로 2가지 방식이 존재한다.
JDK Dynamic Proxy와 CGLIB 방식.
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
Singleton이란
Application 전반에 걸쳐
해당 Bean의 Instance가
1개 뿐인 상태를 말한다.
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
예외 처리 ( @ExceptionHandler ),
바인딩 설정( @InitBinder ),
모델 객체( @ModelAttributes )를
모든 Controller 전반에 걸쳐
적용하고 싶을때 사용한다.
즉 A Controller에서만 사용하는게 아니라
B, C, D 등등 여러 Controller에
공통적으로 사용하고 싶을 경우 사용하면 된다.
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
@Component 애노테이션을 사용하면
Component Scan시
해당 클래스 혹은 객체를 Bean으로 등록시켜준다.
이 글에서는 Component Scan 시
그 범위가 어떻게 되는지 알아보자.
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
특정 Exception 발생 시
해당 Exception을 Custom하게 Control이 가능하다.