Open farmeter opened 5 years ago
모든 요청을 처리하는 Front Controller
from위키백과, 우리 모두의 백과사전.
소프트웨어 라이브러리는 관련 오브젝트 코드의 모임이다. 자바 언어에서 라이브러리들은 JAR 파일로 묶여있는 것이 보통이다. 라이브러리들은 여러 종류의 오브젝트들을 포함할 수 있다.
Jar 파일에 포함된 가장 중요한 형식의 오브젝트는 자바 클래스이다. 클래스는 코드의 명명 단위로 간주할 수 있다. 클래스 로더는 라이브러리를 위치시키고 내용물을 읽으며 라이브러리들 안에 포함된 클래스들을 읽는 역할을 한다.
로딩은 일반적으로 요청이 오면 이루어지는데, 이 말은 클래스가 프로그램에 의해 호출될 때까지 로드하지 않는다는 것을 뜻한다. 명명된 클래스는 주어진 클래스로더에 의해 한 번만 로드될 수 있다.
= 각 자바 클래스는 클래스 로더에 의해 로드되어야 한다.[2] 게다가 자바 프로그램들은 외부 라이브러리들을 이용하거나 최소한 수많은 라이브러리들의 한 부분으로 구성될 수 있다.
부트스트랩 클래스 로더
확장 클래스 로더
확장 클래스 로더는 확장 디렉터리(
시스템 클래스 로더 java.class.path에서 볼 수 있는 시스템 클래스 로더는 CLASSPATH 환경 변수에 매핑된다. sun.misc.Launcher$AppClassLoader 클래스에 의해 구현되어 있다.
@congifuration
spring ioc container에게 해당 클래스가 bean 구성 class 임을 알려준다.
@bean vs @component
뭐라고?
bean vs static
1. Java static vs 2.Spring singleton
생명주기 차이
1.tomcat7은 war단위로 클래스로딩한다. classLoader는 war에 속한 클래스끼
static기반 싱글턴을 개선하기 위한게 ioc컨테이너 기반의 빈관리 이다.
그럼 스프링 ioc 컨테이너는 무어야?