반응형
필터

스프링컨테이너가 들고 있는 필터를 '인터셉터'라고 부른다.
인터셉터 또한 권한을 체크한다.

어노테이션 & 리플렉션

어노테이션
어노테이션은 사전뜻대로는 주석이지만 스프링에서 어노테이션은 컴파일러가 무시하지 않고 체킹을 한다.
스프링은 어노테이션으로 객체를 생성하기도 한다. 
ex)
@Component: 해당 어노테이션이 붙어있는 클래스를 메모리에 로딩해
                         특정 클래스에 해당 어노테이션이 붙어있으면 스프링은 그 클래스를 스캔해서 
                         자기가 들고있는 메모리공간(heap영역, 컨테이너)에 로드한다. => IOC
@Autowired: 스프링 컨테이너에  있는 클래스를 사용하고 싶을 때사용

리플렉션
 - 스프링이 B클래스를 스캔할 때 B클래스 내부에 어떤 것들이 있는지 분석하는 기법을 리플랙션이라 한다.
 - 리플랙션은 어떤 메서드, 필드, 어노테이션이 있는지를 체킹한다.
   또한 있는지를 체킹하는것을 넘어서 어떤 동작을 할지를 설정할수도 있다. 
 - 만약 @Autowired 를 발견하면 스프링 컨테이너를 쭉 읽어어서 A랑 동일한 타입의 객체가 있는지를 확인한다.
  만약 A가 없다면 null을 반환, 있다면 A를 DI한다.  
- 리플렉션은 런타임때 동작(분석)한다. 

Class B{
  @Autowired
  A a;
}

 

+ Recent posts