소스가 공개되어 있어서 고칠 수 있다.
Inversion of Control 제어의 역전, 즉 주도권을 스프링이 가진다.
Class 티모 {
변수
변수
}
abstract class (추상적인 의미)
캐릭터{
}
캐릭터는 추상적인 것이기 때문에 실체화가 불가능하다.
오브젝트 new를 해서 heap이라는 메모리에 올린다.
오브젝트는 메서드가 실행되는 순간에만 메모리에 떠있다.
스프링 IOC 는 수많은 오브젝트를을 스캔해서 heap에 띄운다.
의존성 주입
스프링이 관리하는 객체를
내가 원하는 모든곳에서
즉 메소드에서 쓸수있다.
스캔을 하면 딱 한번만 그 인스턴스가 뜨고
그걸 공유해서 쓸 수있다.
싱글톤
필터 : 문지기한테 임무를 줘서 막는 역할
스프링 자체 :
필터 (사용)
필터 (사용x -> ㅇ사용)
직접 필터 생성
인터셉터 (권한있으면들어오게 없으면 나가게)
컴파일 체킹
어노테이션 (주석+힌트) <- 컴파일러가 무시x
@override가 다르게 되어있으면 컴파일 에러
글에서 주석은 컴파일러가 무시함
스프링에서 -> 어노테이션은 객체 생성의 역할
@Component -> 클래스 메모리에 로딩
@Autowired -> 로딩된 객체를 해당 변수에 집어 넣어라
@
@Component IOC
Class A { <--------
}
리플렉션 (분석하는 기법 - 런타임시 분석)
중간데이터 : xml 이 원래 쓰이다가 JSON이 대세가됨
자바 object를 중간언어인 JSON으로 바꾸고
파이썬 object로 바뀜