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 에는 다양한 유형의 응용 문맥 이 있 습 니 다.다음 몇 가지 유형 을 만 날 수 있 습 니 다.
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 를 통 해 필요 한 설정 클래스 입 니 다.보통 세 번 째 파일 로 모든 파일 을 함께 설정 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
springmvc application/octet-stream problemmistake: Source code: Solution: Summarize: application/octet-stream is the original binary stream method. If the convers...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.