Spring 세 가지 bean 조립 방안

일단 간단 하면 서도 오래된 자바 클래스 로 가 볼 게 요.
public class SpringBean {
    public void say(){
        System.out.println("    SpringBean");
    }
}

1. 물론 입 니 다. 첫 번 째 는 우리 가 가장 스마트 한 조립 방안 이 고 자동 으로 조립 해 야 합 니 다.
자동 으로 조립 할 때 클래스 에 대한 주석 작업 을 보증 해 야 합 니 다. @Component / / 일반적인 구성 요소 설명 @ Controller / / 보통 웹 에 있 는 컨트롤 러 구성 요소 에서 @ Service / / 보통 service 서비스 구성 요소 에서 @ Repository / / 데이터 접근 및 조작 구성 요소 에 사 용 됩 니 다.
@Component//         
//@Controller//    web        
//@Service//    service     
//@Repository//             
//         ,            ,                 。
public class SpringBean {
    public void say(){
        System.out.println("    SpringBean");
    }
}

자동 조립 방안 에서 설명 에 이름 이 명확 하 게 지정 되 지 않 으 면 기본 bean 의 ID 는 클래스 이름 이 고 이니셜 은 자동 으로 소문 자로 변 합 니 다. 이름 을 지정 하면 지정 한 이름 을 bean 의 ID 로 합 니 다.
@Component("component")//         
//@Controller("controller")//    web        
//@Service("service")//    service     
//@Repository("repository")//             
public class SpringBean {
    public void say(){
        System.out.println("    SpringBean");
    }
}


1.1 XML 파일 설정 자동 조립 방안


  
    


1.2 JavaConfig 설정 자동 조립 방안
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;


@Configuration//     Spring    
@ComponentScan("cn.sharek.test")//        ,  “cn.sharek.test”        POJO(Plain Old Java Object,      Java  
public class SpringRootConfig {
}

잘못 보지 않 았 습 니 다. 자바 코드 를 통 해 Spring 의 설정 을 실현 하 는 것 은 이렇게 간단 합 니 다. 그러나 만능 이 아 닙 니 다. 아직도 일부 설정 (Spring Web FLow...) 은 자바 코드 를 통 해 이 루어 지지 않 습 니 다. XML 파일 을 빌려 야 합 니 다.조급해 하지 마 세 요. 글 의 끝 에 혼합 설정 을 소개 합 니 다. XML 에서 자바 코드 를 가 져 오 는 설정, 자바 코드 에서 XML 을 가 져 오 는 설정 은 모두 가능 합 니 다.
2, XML 파일 을 통 해 수 동 으로 bean 편집
다음은 XML 을 통 해 수 동 으로 bean 을 편집 하 는 것 입 니 다. 물론 앞의 우리 에 게 유린 당 하 는 POJO 를 계속 사용 하 세 요.


    
    


지금: 이 bean 은 이미 사용 할 수 있 습 니 다.
만약 이 bean 이 속성 을 설정 하거나 주입 할 필요 가 없고 유일 하 게 파 라미 터 를 가 진 구조 방법 이 없다 면 이렇게 하 는 것 이 옳다.유일한 파 라 메 트릭 구조 방법 이 있 고 파 라 메 트릭 구조 방법 이 없 을 때 이렇게 하 는 것 은 잘못된 선택 입 니 다. 이 럴 때 구조 적 매개 변수 에 속성 치 를 설정 하거나 속성 치 를 주입 해 야 합 니 다.위 에서 설명 한 상황 을 어떻게 해 야 하 는 지 보 세 요.
public class SpringBean {
    public SpringBean(String str) {
        System.out.println("    str!!!    :"+str);
    }

    public void say(){
        System.out.println("    SpringBean");
    }
}


    
        
    


물론, 우 리 는 여기에서 다 중 매개 변수의 상황 을 고려 하지 않 습 니 다. 왜냐하면 우 리 는 이것 이 bean 의 조립 방안 이기 때 문 입 니 다. 앞으로 다 중 매개 변수의 상황 을 어떻게 해 야 하 는 지, 조급해 하지 마 세 요.
3, 자바 Config 클래스 를 통 해 수 동 으로 bean 편집
나 는 이런 종류의 관 리 를 비교적 좋아한다.
@Configuration//     Spring    
public class SpringRootConfig {
    @Bean//   
    public SpringBean springBean(){
        return new SpringBean();
    }
}

방법 명 은 bean 의 ID 입 니 다. 이 방법 이름 을 바 꾸 면 bean 의 ID 를 바 꿀 수 있 습 니 다.그럼요. 주 해 된 name 속성 을 통 해 지정 할 수 있 습 니 다.
@Configuration//     Spring    
public class SpringRootConfig {
    @Bean(name="happy")//   
    public SpringBean springBean(){
        return new SpringBean();
    }
}

이제 그만 끝내 야 지.
No,No,No
또 재 밌 는 게 있어 요.
혼합 설정 이 죠.
자바 Config 클래스 에 자바 Config 클래스 를 섞 습 니 다.
@Configuration//     Spring    
@Import(ServiceConfig.class)//       
//@Import({ServiceConfig.class,ControllerConfig.class})//       
//@Import       
public class SpringRootConfig {
}

자바 Config 클래스 에 자바 Config 클래스 와 XML 파일 을 섞 습 니 다.
물론 XML 파일 만 섞 어도 된다 는 것 은 잘못 이 없다.
@Configuration//     Spring    
@Import(ServiceConfig.class)//       
@ImportResource("classpath:application.xml")//    XML    
public class SpringRootConfig {
}

XML 파일 에 XML 파일 섞 기


    
    


XML 파일 에서 자바 Config


    
    
    
    


혼합 설정 이 보기 좋 은 것 같 습 니 다. 파일 을 기능 이나 업무 에 따라 분리 할 수 있 습 니 다.그러나 주의해 야 할 것 은 중복 ID 의 bean 이 절대 나타 나 면 안 된다 는 점 이다.그렇지 않 으 면 Spring 은 당신 이 어떤 bean 을 사용 하고 있 는 지 잘 모 를 것 입 니 다.

좋은 웹페이지 즐겨찾기