Spring IoC 용기 지식 점 상세 설명

2603 단어 SpringIoC 용기
Spring IoC 용 기 를 식당 에 비유 할 수 있 습 니 다.식당 에 오 면 종업원 에 게 직접 주문 하 라 고 합 니 다.요리 의 원 료 는 무엇 입 니까?어떻게 원료 로 요 리 를 만 듭 니까?관심 이 없 나 봐.IoC 용기 도 마찬가지 입 니 다.bean 이 필요 하 다 고 만 알려 주면 해당 하 는 인 스 턴 스(instance)를 던 져 줍 니 다.이 bean 이 다른 구성 요소 에 의존 하 는 지,초기 화 를 어떻게 완성 하 는 지 에 대해 서 는 관심 이 필요 없습니다.
식당 으로서 요 리 를 만 들 려 면 요리 의 원료 와 레 시 피 를 알 아야 한다.마찬가지 로 IoC 용기 가 각 업무 대상 과 그들의 의존 관 계 를 관리 하려 면 특정한 경 로 를 통 해 이런 정 보 를 기록 하고 관리 해 야 한다.BeanDefinition 대상 은 이 책임 을 집 니 다.용기 에 있 는 모든 bean 은 해당 하 는 BeanDefinition 인 스 턴 스 가 있 습 니 다.이 인 스 턴 스 는 bean 대상 의 모든 필요 한 정 보 를 저장 하 는 것 을 책임 집 니 다.이 는 bean 대상 의 class 유형,추상 류 인지,구조 방법 과 파라미터,그 속성 등 을 포함 합 니 다.클 라 이언 트 가 용기 에 해당 하 는 대상 을 요청 할 때 용 기 는 이 정 보 를 통 해 클 라 이언 트 에 게 사용 가능 한 bean 인 스 턴 스 를 되 돌려 줍 니 다.위 챗 검색 웹resource 관심 후 더 많은 건어물 을 획득 하 세 요!
원자 재 는 이미 준비 되 었 습 니 다.(Bean Definition 을 원 료 를 보고)요 리 를 시작 하 세 요.등등,당신 은 레 시 피 가 필요 합 니 다.Bean Definition Registry 와 Bean Factory 는 바로 이 레 시 피 입 니 다.Bean Definition Registry 는 bean 의 등록 논 리 를 추상 화하 고 Bean Factory 는 bean 의 관리 논 리 를 추상 화 했 습 니 다.그리고 각 Bean Factory 의 실현 류 는 bean 의 등록 과 관리 업 무 를 구체 적 으로 맡 았 다.그들 사이 의 관 계 는 다음 과 같다.

Default Listable BeanFactory 는 비교적 통용 되 는 BeanFactory 로 실현 되 었 고 Bean Definition Registry 인터페이스 도 실현 되 었 기 때문에 Bean 의 등록 관리 업 무 를 맡 았 다.그림 에서 도 알 수 있 듯 이 BeanFactory 인터페이스 에는 getBean,containBean,getType,getAliases 등 bean 을 관리 하 는 방법 이 포함 되 어 있 고,BeanDefinition Registry 인 터 페 이 스 는 registerBeanDefinition,removeBeanDefinition,getBeanDefinition 등 BeanDefinition 을 등록 관리 하 는 방법 이 포함 되 어 있다.
다음은 간단 한 코드 를 통 해 BeanFactory 밑바닥 이 어떻게 작 동 하 는 지 모 의 하 겠 습 니 다.

//       
DefaultListableBeanFactory beanRegistry = new DefaultListableBeanFactory();
//            BeanDefinition
AbstractBeanDefinition definition = new RootBeanDefinition(Business.class,true);
//  bean        
beanRegistry.registerBeanDefinition("beanName",definition);
//      bean,       bean       
// ........




//             bean   
//   :   beanRegistry     BeanFactory  ,      ,
//    BeanDefinitionRegistry        BeanFactory   
BeanFactory container = (BeanFactory)beanRegistry;
Business business = (Business)container.getBean("beanName");
이 코드 는 BeanFactory 바 텀 의 대체적인 작업 절 차 를 설명 하기 위해 실제 상황 이 더욱 복잡 할 것 입 니 다.예 를 들 어 bean 간 의 의존 관 계 는 외부 프로필(XML/properties)에서 정의 할 수도 있 고 주석 방식 일 수도 있 습 니 다.Spring IoC 용기 의 전체 작업 절 차 는 크게 두 단계 로 나 눌 수 있다.
이상 은 이번 소개 의 모든 지식 포인트 내용 입 니 다.여러분 의 학습 과 우리 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기