spring 의존성 주입 예제

스프링 구성 요소는 컨테이너에 bean 정의 메타데이터를 기여할 수도 있습니다. @Configuration 개의 추가된 클래스 내에서 bean 메타데이터를 정의하는 데 사용되는 동일한 @Bean 개의 어노런으로 이 작업을 수행할 수 있습니다. 다음 예제에서는 bean 속성을 문자열 값으로 설정할 때 스프링 IoC 컨테이너는 궁극적으로 표준 JavaBeans PropertyEditor 구현을 사용하여 이러한 문자열을 속성의 복잡한 유형으로 변환하는 방법을 보여 주며, 이를 보여 주며, Spring IoC 컨테이너는 궁극적으로 표준 JavaBeans PropertyEditor 구현을 사용합니다. Spring은 여러 사용자 지정 PropertyEditor 구현을 미리 등록합니다(예: 문자열로 표현된 클래스 이름을 클래스 개체로 변환). 또한 Java의 표준 JavaBeans PropertyEditor 조회 메커니즘을 사용하면 클래스에 대한 PropertyEditor의 이름을 적절히 지정하고 지원을 제공하는 클래스와 동일한 패키지에 배치하여 자동으로 찾을 수 있습니다. 다른 예를 들어 클러스터된 JCache에 액세스하는 서비스 개체에 대한 bean 정의를 정의하고 명명된 JCache 인스턴스가 주변 클러스터 내에서 열심히 시작되도록 해야 한다고 가정합니다. 다음 목록은 이러한 정의를 보여 주며, 유효성 검사에 있는 정적 rejectIfEmpty(.) 메서드는 null 또는 빈 문자열인 경우 name 속성을 거부하는 데 사용됩니다. 유효성 검사에서 살펴봐야Utils 자바 독 은 이전에 표시된 예제 외에 제공하는 기능을 확인합니다. 스키마 인식 XML 편집기를 사용하는 구성 파일 작성을 용이하게 하기 위해 Spring의 확장 가능한 XML 구성 메커니즘은 XML 스키마를 기반으로 합니다. 표준 스프링 분포와 함께 제공되는 Spring의 현재 XML 구성 확장에 익숙하지 않은 경우 먼저 [xsd-config]라는 제목의 부록을 읽어야 합니다.

앞의 예제는 작동하지만 단순합니다. 대부분의 실용적인 시나리오에서 빈은 구성 클래스 전체에서 서로 종속성을 갖습니다. XML을 사용하는 경우 컴파일러가 필요하지 않으므로 문제가 되지 않으며 ref=”someBean”을 선언하고 스프링을 신뢰하여 컨테이너 초기화 중에 해결할 수 있습니다. @Configuration 클래스를 사용하는 경우 Java 컴파일러는 다른 빈에 대한 참조가 유효한 Java 구문이어야 한다는 점에서 구성 모델에 제약 조건을 배치합니다. 클래스 경로*: 접두사와 위치 경로의 나머지 부분(예: 클래스 경로*:META-INF/*-beans.xml)에 패스매치커 패턴을 결합할 수도 있습니다. 이 경우 해결 전략은 매우 간단합니다: 클래스 Loader.getResources() 호출은 마지막 비와일드카드 경로 세그먼트에서 클래스 로더 계층 구조의 모든 일치 리소스를 가져옵니다. 앞서 설명한 전략은 와일드카드 하위 경로에 사용됩니다. 스프링 프레임워크 4.3에서 대상 bean이 시작할 생성자 하나만 정의하는 경우 이러한 생성자의 @Autowired 어구가 더 이상 필요하지 않습니다. 그러나 여러 생성자가 있는 경우 사용할 컨테이너를 가르치기 위해 하나 이상의 구성자가 추가되어야 합니다. FormatterRegistry SPI를 사용하면 컨트롤러 간에 이러한 구성을 복제하는 대신 중앙에서 서식 지정 규칙을 구성할 수 있습니다.

예를 들어 모든 날짜 필드가 특정 방식으로 서식이 지정되거나 특정 추가가 있는 필드가 특정 방식으로 서식이 지정되도록 적용할 수 있습니다. 공유 FormatterRegistry를 사용하면 이러한 규칙을 한 번 정의하고 서식이 필요할 때마다 적용됩니다.

 
Mobile Site

Follow Us On Facebook Follow Us On Twitter Follow Us On Google + Follow Us On LinkedIn Follow Us On You Tube Copyright 2019 © All Rights Reserved. Powered by - ARE Network Solutions