복붙노트

[SPRING] Spring 클래스 경로 접두사 차이

SPRING

Spring 클래스 경로 접두사 차이

여기에 문서화되어있다.

누군가 이것을 설명 할 수 있습니까?

별표가없는 classpath : conf / appContext.xml과 반대로 classpath * : conf / appContext.xml을 사용하는 것의 차이점은 무엇입니까?

해결법

  1. ==============================

    1.단순한 정의

    단순한 정의

    classpath * : conf / appContext.xml은 단순히 classpath에있는 모든 jar의 conf 폴더에있는 모든 appContext.xml 파일을 선택하여 하나의 큰 응용 프로그램 컨텍스트로 결합한다는 것을 의미합니다.

    반대로 classpath : conf / appContext.xml은 클래스 패스에서 처음 발견되는 파일 하나만로드합니다.

  2. ==============================

    2.classpath * : ... 구문은 주로 와일드 카드 구문을 사용하여 여러 bean 정의 파일에서 응용 프로그램 컨텍스트를 빌드하려는 경우에 유용합니다.

    classpath * : ... 구문은 주로 와일드 카드 구문을 사용하여 여러 bean 정의 파일에서 응용 프로그램 컨텍스트를 빌드하려는 경우에 유용합니다.

    예를 들어, classpath * : appContext.xml을 사용하여 컨텍스트를 구성하면 classpath에있는 appContext.xml이라는 모든 리소스가 클래스 경로에서 검색되고 모든 bean 정의가 단일 컨텍스트로 병합됩니다.

    반대로 classpath : conf / appContext.xml은 클래스 경로에서 appContext.xml이라는 파일 하나만 가져옵니다. 둘 이상인 경우 다른 항목은 무시됩니다.

  3. ==============================

    3.classpath * : 자원 목록을 참조하고 클래스 경로에있는 모든 파일을로드하며 목록은 비어있을 수 있습니다. 클래스 경로에 파일이 없으면 응용 프로그램은 예외를 throw하지 않습니다 (오류 무시).

    classpath * : 자원 목록을 참조하고 클래스 경로에있는 모든 파일을로드하며 목록은 비어있을 수 있습니다. 클래스 경로에 파일이 없으면 응용 프로그램은 예외를 throw하지 않습니다 (오류 무시).

    classpath : 특정 리소스를 참조하고 클래스 패스에있는 첫 번째 파일 만로드하고 클래스 패스에 파일이 없으면 예외를 throw합니다.

    java.io.FileNotFoundException: class path resource [conf/appContext.xml] cannot be opened because it does not exist
    
  4. from https://stackoverflow.com/questions/3294423/spring-classpath-prefix-difference by cc-by-sa and MIT license