SpringMVC 의 Bean 조립

5721 단어 springmvc
봄 용기
Spring 에서 bean 은 Spring 용기 에서 생존 한다.Spring 은 많은 용 기 를 가지 고 있 으 며 크게 두 가지 유형 으로 나 뉜 다. 1. bean 공장 (org. spring from work. beans. factory. bean Factory 인터페이스 정의) 2. 응용 컨 텍스트 (org. spring from work. context. applicationContext 인터페이스 정의).bean 공장 은 가장 간단 한 용기 로 간단 한 DI 지원 을 제공 합 니 다.응용 컨 텍스트 는 BeanFactory 구축 을 바탕 으로 응용 프레임 워 크 등급 의 서 비 스 를 제공 합 니 다.Spring 에는 다양한 유형의 응용 문맥 이 있 습 니 다.다음 몇 가지 유형 을 만 날 수 있 습 니 다.
  • AnnotationConfigApplication Context: 자바 기반 설정 클래스 에서 Spring 응용 컨 텍스트 를 하나 이상 불 러 옵 니 다.
  • AnnotationConfigWebapplication Context: 자바 기반 설정 클래스 에서 Spring Web 응용 컨 텍스트 를 하나 이상 불 러 옵 니 다.
  • ClassPathXmlApplication Context: 클래스 경로 의 하나 이상 의 XML 프로필 에서 컨 텍스트 정 의 를 불 러 오고 컨 텍스트 의 정의 파일 을 클래스 자원 으로 합 니 다.
  • FileSystemXmlapplicationcontext: 파일 시스템 의 다음 XML 설정 파일 에서 컨 텍스트 정 의 를 불 러 옵 니 다.
  • XmlWebApplicaiton Context: 웹 애플 리 케 이 션 의 다음 XML 프로필 이나 여러 개의 XML 프로필 에서 컨 텍스트 정 의 를 불 러 옵 니 다.

  • Bean 의 설정
    Spring 에는 세 가지 주요 조립 체제 가 있 습 니 다. 1. XML 에서 명시 적 으로 설정 합 니 다.2. 자바 에서 명시 적 설정 을 합 니 다.3. 암시 적 인 bean 발견 메커니즘 과 자동 조립.세 가지 방식 은 각각 특징 이 있 고 조립 체 제 를 자 유 롭 게 선택 할 수 있 으 며 세 가지 스타일 은 자 유 롭 게 조합 할 수 있다.가능 한 한 자동 설정 메커니즘 을 사용 하 는 것 을 권장 합 니 다. 설정 이 적 을 수록 좋 습 니 다.어떤 경우, 일부 소스 코드 는 당신 이 유지 하 는 것 이 아니 지만, bean 을 설정 해 야 한다 면, javaConfig 를 사용 하여 설정 을 표시 할 수 있 습 니 다.편리 한 XML 네 임 스페이스 를 사용 하고 싶 을 때 만 자바 Config 가 이 루어 지지 않 았 고 XML 로 설정 합 니 다.
    xml 에 설정 보이 기
    XML 에 bean 을 설정 하려 면 먼저 요 소 를 루트 로 해 야 합 니 다.생명 은 간단 한 bean:
    구조 기 주입 초기 화 bean
    Spring 3.0 이후 두 가지 방법 으로 bean 을 구성 합 니 다. <1 > constructor - arg < 2 > 에서 c - 네 임 스페이스 를 사용 하 는 가장 큰 차이 점 은 지루 한 지 여부 입 니 다.
    1. bean 을 구조 기 에 주입
    < bean id = "A" class = "B">
    		< constructor-arg ref="C" />
    < / bean>
    

    또는 c - 네 임 스페이스 로 < bean id = "A" class = "B" < c: D - ref = "F" / > < / bean > 에 들 어 갑 니 다. A 는 bean 을 만 드 는 ID 이 고 B 는 클래스 의 전체 이름 입 니 다. c: 네 임 스페이스, D 는 구조 기 매개 변수 이름 입 니 다. - ref 는 bean 을 주입 하 는 참조 이 고 F 는 bean 의 ID 를 주입 합 니 다.
    2, 구조 기 에 글자 의 양 을 주입 < bean id = "A" class = "B" < constructor - arg value = "String" / > < / bean > 또는 c - 네 임 스페이스 (1) < bean id = "A" class = "B" < c:구조 체 파라미터 = "String" / "< / bean > (2) < bean id =" A "class =" B "> < c:0 =“String” /> < c:_1 =“String” /> < / bean>
    3. 집합 을 구조 기 에 설치한다.
    < bean id = "A" class = "B">
    		< constructor-arg>
    				< list>
    					< value>1
    					< value>2
    					< value>3
    					< value>4
    		< /list>	
    	< /constructor-arg>
    	< constructor-arg>
    				< list>
    					< ref bean= "A" />	
    					< ref bean= "B" />	
    					< ref bean= "C" />	
    		< /list>	
    	< /constructor-arg>
    < / bean>
    

    Spring 이 등 요 소 를 만 들 려 고 할 때 자바 util. set 과 자바 util. List 를 생 성 합 니 다.set 에서 중복 되 는 값 은 무 시 됩 니 다.c - 네 임 스페이스 는 집합 을 조립 하 는 데 사용 할 수 없습니다.
    bean 설정 속성
    < bean id = "AA" class = "BB">
    		< property name = "A" ref = "B" />
    		< property name = "C"  value="D" />
    		< property name = "E">
    				< list>
    					< value>1	
    					< value>2
    					< value>3
    					< value>4	
    		< /list>
    		< / property> 
    < / bean>
    

    A 와 C 는 속성 이름 이 고 B 는 bean 을 주입 하 는 ID 이 며 D 는 글자 의 양 으로 C 에 값 을 부여 합 니 다.p - 네 임 스페이스 설정 속성 < bean id = "A" class = "B" p: C - ref = "D" / > c 는 속성 이름, D 는 주 입 된 bean 의 ID
    자바 에 설정 보이 기
    설정 클래스 @ Configuration 을 만 드 는 것 은 설정 클래스 @ ComponentScan 스 캔 구성 요소 로 간단 한 bean @ Bean Public TemClass getTemClass () {return new TemClass () 를 설명 합 니 다.}
    자동화 조립 Bean Spring 은 두 가지 측면 에서 자동화 조립 을 실현 한다.1. 구성 요소 스 캔: Spring 은 상하 문 에서 만 든 bean 을 자동 으로 발견 합 니 다.2. 자동 조립: Spring 은 자동 으로 bean 간 의 의존 을 만족시킨다.
    \ # \ # # xml 에서
    구성 요소 의 스 캔 두 가지 방식: 1. XML 에서 구성 요소 스 캔 을 시작 합 니 다.
         
    
     2、@ComponentScan        
         java          ,      @Configuration        @ComponentScan          。         ,                       ,    @Component    。
               ,  @ComponentScan("      "),               ,       basePackages      @ComponentScan(basePackages="        ")。
       basePackages          @ComponentScan(basePackages={"A","B","C"}),                     。
       ,          , basePackages  basePackageClasses。  @ComponentScan(basePackages={"A.class","B.class","C.class"}),                   。
             :
     @Autowired     ,         ,     setter   。@Inject @Autowired             。
                   :
     1、         bean。       required  ,@Autowired(required=false).           null    ,     NullPointerException  。
     2、            bean。       bean。          bean    @Primary。            bean    @Primary,             ,       bean       @Qualifier("Bean ID")    。    bean          ,    bean            ,      bean ID  。
                        。
    @Targer({ElementType.CONSTRUCTOR,ElementType.FIELD,ElementType.Method,ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Qualifier
    public @interface Cold{}
    

    가 져 오기 및 혼합 설정
    자바 의 서로 다른 설정 클래스 는 @ Import (A. class) 를 통 해 두 설정 클래스 를 조합 합 니 다. @ImportResource ("/ classpath: A. xml") 에서 xml 설정 을 가 져 옵 니 다.xml 는 다른 xml 파일 을 가 져 옵 니 다.A 를 통 해 필요 한 설정 클래스 입 니 다.보통 세 번 째 파일 로 모든 파일 을 함께 설정 합 니 다.

    좋은 웹페이지 즐겨찾기