📍 필터를 통해 권한 확인
📍 어노테이션 @
어노테이션 ( 주석 + 힌트 )
✏️ 예시
@Component
@Autowired
@Bean
@Controller
👆 컴파일러가 체킹할 수 있도록 힌트를 주는 주석
스프링에서는 어노테이션을 이용하여 객체 생성
/// 주석을 달아봅시다
public class A{}
👆 위의 주석은 컴파일러가 무시하는 주석
@Component : 클래스 메모리에 로딩
@Component
Class A{}
스프링이 해당 클래스(Class A)를 스캔하여 heap 메모리 공간에 A 클래스를 로딩
@Autowired : 로딩된 객체를 해당 변수에 넣어라
@Autowired
Class B{
A a;
// A a = new A();
// 이 방식은 사용 시 새로운 heap 메모리 공간에 다른 A를 로딩 하는 것
}
스프링이 IoC를 통해 메모리에서 동일한 타입의 객체를 읽어들임 👉 DI (Dependency Injection)
📍 리플렉션 (분석하는 기법)
스프링이 B 클래스를 스캔할 때 B 클래스 내부를 분석하는 기법 ( runtime
시 분석 )
1. 리플렉션을 통해 특정 클래스 내부에 있는 메서드, 필드, 어노테이션등을 체킹 가능
2. 체킹 후 취해야할 행동을 설정할 수 있음