Spring 조립 Bean - XML 을 통 해 Bean 조립
12926 단어 Spring
Spring XML 설정 에 서 는 bean 을 설명 하 는 방식 만 있 습 니 다. 요 소 를 사용 하고 class 속성 을 지정 합 니 다.Spring 은 여기에서 필요 한 정 보 를 얻어 bean 을 만 듭 니 다.
요약: spring 설정 의 bean 은 두 가지 가 있 습 니 다. 간단 한 bean 과 성명 DI (다른 bean 에 의존 해 야 하 는 복잡 한 bean)
PS: xml 설정 설명 DI 두 가지 구조 기 주입 과 setter 방법 주입 이 있 는데 이 두 가지 주입 방식 은 다음 과 같다.
자바 클래스 를 설명 할 때 구조 기 주입 은 정의 구조 기 를 표시 해 야 합 니 다.setter 방법 은 속성 을 정의 하 는 setter 방법 이 필요 합 니 다.
xml 프로필 에서 구조 기 주입 은? 원소 name 속성 선택 가능;setter 방식 은 요소 이 고 name 을 지정 합 니 다.name = 자바 클래스 속성 명
그러면 이 글 1 강 XML 설정 설명 간단 bean 2 강 XML 설정 사용 구조 설명 DI 3. XML 설정 은 setter 방법 으로 DI 를 설명 합 니 다.
1. xml 설정 간단 한 Bean - 정의 Bean
public class CompactDisc {
private String artist = "dream_s";
private String music = "litter bird";
public void play() {
System.out.println("XML CONFIG playing "+ music + " by "+ artist);
}
}
1. xml 간단 한 Bean - -- src 디 렉 터 리 에 xml 프로필 을 새로 만 들 면 eclipse 에서 File - New - Spring Bean Configuration File
이 bean 의 클래스 를 만 들 려 면 class 속성 을 통 해 지정 하고 모든 한 정 된 클래스 이름 을 사용 해 야 합 니 다.id 속성 을 통 해 이름 을 짓 는 것 을 좋아 합 니 다.
이 xml 프로필 = 자바 설정 에서 사용 하 는 @ Configure 주해 의 설정 클래스
요소 로 bean 설명 하기 원소 = 자바 설정 의 @ Bean 주석
1. xml 설정 간단 한 Bean - - 테스트 Spring 은 이 bean 을 자동 으로 발견 하고 만 들 수 있 습 니 다.
Spring 설정 파일 읽 는 방법 FileSystemXmlApplication Context 인 자 는 xml 프로필 이 컴퓨터 에서 절대 경로 입 니 다.
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class CDPlayerTest {
// : , ApplicationContext
ApplicationContext context = new FileSystemXmlApplicationContext("D:/workspace/SpringBeanDemo/src/bean-config.xml");
// : bean
private CompactDisc compactDisc = (CompactDisc) context.getBean("CompactDisc");
@Test
public void testPlayer() {
compactDisc.play();
}
}
콘 솔 출력 - XML CONFIG playing litter bird by dream_s
2. XML 설정 설명 DI 의 구조 기 주입 ---XML 설정 설명 은 다른 Bean 의 복잡 한 Bean 에 의존 합 니 다. 의 구조 기 주입
XML 설정 설명 은 주입 (DI) 방식 에 의존 합 니 다. 구조 기 주입 과 setter 방법 주입 이 있 습 니 다.
그 중에서 구조 기 주입 은 다음 과 같은 네 가지 상황 을 말 했다. 유형 조립, 글자 양 조립, 집합 조립 (집합 요 소 는 기본 데이터 유형 과 사용자 정의 유형 포함)
2.1 XML 설정 설명 DI 구조 기 주입 유형 조립 ---XML 설정 설명 은 다른 Bean 의 복잡 한 Bean 구조 기 주입 유형 에 의존 합 니 다.
먼저 CDPlayer bean 을 정의 할 때 CompactDisc 형식 을 받 아들 이 는 구조 기 가 있 습 니 다.
Spring 은 원소 의 하위 원소 원 소 를 통 해 구조 기 주입 을 실현 하고, 요소 ref 속성 구현 유형 조립 요 소 는 Spring 에 게 compactDisc 라 는 ID 의 bean 인용 을 CDPlayer 의 구조 기 에 전달 할 것 을 알려 줍 니 다.
package com.demo.SpringBeanDemo;
public class CDPlayer {
// DI
private CompactDisc compactDisc;
public CDPlayer(CompactDisc compactDisc) {
this.compactDisc = compactDisc;
}
public void play() {
compactDisc.play();
}
}
테스트 XML 설정 은 구조 기 를 통 해 DI 를 실현 합 니 다.
콘 솔 XML CONFIG 두 번 입력 playing litter bird by dream_s
package com.demo.SpringBeanDemo;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class CDPlayerTest {
// : , ApplicationContext, bean
ApplicationContext context = new FileSystemXmlApplicationContext("D:/workspace/SpringBeanDemo/src/bean-config.xml");
// : bean
private CompactDisc compactDisc = (CompactDisc) context.getBean("CompactDisc");
// DI
private CDPlayer cdPlayer = (CDPlayer) context.getBean("cdPlayer");
@Test
public void testPlayer() {
compactDisc.play();
cdPlayer.play();
}
}
2.2 XML 설정 설명 DI 의 구조 기 주입 의 글자 양 주입 ---XML 설정 설명 은 다른 Bean 의 복잡 한 Bean 구조 기 주입 의 글자 크기 에 의존 합 니 다. 지금까지 우리 가 한 DI 는 보통 유형의 조립 을 말 합 니 다. 즉, 대상 의 인용 을 다른 대상 에 의존 하 는 것 입 니 다. 그리고 가끔 우리 가 해 야 할 일 은 하나의 글자 값 으로 대상 을 설정 하 는 것 입 니 다.
Spring 사용 요소 value 속성 글자 크기 조립 실현 이 속성 을 통 해 주어진 값 을 글자 의 양 으로 구조 기 에 주입 해 야 한 다 는 것 을 나타 낸다.
import java.util.List;
public class BlankCompactDisc {
private String music;
private String artist;
public BlankCompactDisc(String music, String artist) {
this.music = music;
this.artist = artist;
}
public void play() {
System.out.println("XML CONFIG value DI playing "+ music + " by "+ artist);
}
}
xml 프로필 에서 Blank CompactDisc 를 Spring Bean 으로 설정 합 니 다.
테스트 xml 설정 통과 원소 value 속성 글자 양 조립 주입 실현
콘 솔 출력: XML CONFIG value DI playing please happy today by dream_s
package com.demo.SpringBeanDemo;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class CDPlayerTest {
ApplicationContext context = new FileSystemXmlApplicationContext("D:/workspace/SpringBeanDemo/src/bean-config.xml");
private BlankCompactDisc blankCompactDisc = (BlankCompactDisc) context.getBean("blankCompactDisc");
@Test
public void testPlayer() {
blankCompactDisc.play();
}
}
2.3 XML 설정 설명 DI 의 구조 기 주입 의 조립 집합 - XML 설정 성명 은 다른 Bean 의 복잡 한 Bean 의 구조 기 주입 의 조립 집합 에 의존한다
어떤 종류의 속성 이 집합 이 라면 xml 설정 을 통 해 Spring Bean 이 라 고 설명 할 때 하위 요 소 를 통 해
집합 요소 가 기본 데이터 형식 이 라면 하위 요 소 를 사용 할 수 있 습 니 다.집합 요소 가 사용자 정의 형식 이 라면 하위 요 소 를 사용 할 수 있 습 니 다.
예 를 들 어 다음 의 예 를 들 어 Blank CompactDisc 는 두 가지 속성 이 모두 List 집합 이 고 하 나 는 기본 데이터 형식 인 Sring 이 며 다른 하 나 는 CompactDisc 형식 입 니 다.Spring 의 bean 으로 등록 할 때 xml 의 기록 은 다음 과 같 습 니 다.
Blank CompactDisc 클래스 를 설명 하고 구조 함 수 를 작성 합 니 다.
package com.demo.SpringBeanDemo;
import java.util.List;
public class BlankCompactDisc {
private List trackers;
private List compactDiscs;
public BlankCompactDisc(List trackers, List compactDiscs) {
this.trackers = trackers;
this.compactDiscs = compactDiscs;
}
public void play() {
for (String tracker : trackers) {
System.out.println("XML CONFIG List DI playing "+ tracker);
}
for(CompactDisc compactDisc:compactDiscs){
compactDisc.play();
}
}
}
xml 를 Spring bean 으로 설정
tracker1
tracker2
tracker3
xml 설정 을 테스트 할 때 집합 을 설치 합 니 다. 집합 내 요 소 를 포함 하여 기본 데이터 형식 과 사용자 정의 형식 입 니 다.
package com.demo.SpringBeanDemo;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class CDPlayerTest {
ApplicationContext context = new FileSystemXmlApplicationContext("D:/workspace/SpringBeanDemo/src/bean-config.xml");
private BlankCompactDisc blankCompactDisc = (BlankCompactDisc) context.getBean("blankCompactDisc");
@Test
public void testPlayer() {
blankCompactDisc.play();
}
}
콘 솔 출력:
XML CONFIG List DI playing tracker1 XML CONFIG List DI playing tracker2 XML CONFIG List DI playing tracker3 XML CONFIG playing litter bird by dream_s
3 XML 설정 설명 DI 의 setter 방법 주입
xml 설정 설명 DI 두 가지 구조 기 주입 과 setter 방법 주입 이 있 는데 이 두 가지 주입 방식 은 다음 과 같다.
자바 류 는 구조 기 주입 에 정의 구조 기 를 표시 해 야 합 니 다.setter 방법 은 속성 을 정의 하 는 setter 방법 이 필요 합 니 다.
xml 프로필 에서 구조 기 주입 은? 원소 name 속성 선택 가능;setter 방식 은 요소 이 고 name 을 지정 합 니 다.name = 자바 클래스 속성 명
setter 주입 도 포함: 유형 주입, 글자 양 주입, 집합 주입 직접 붙 이기 예 는 다음 과 같 습 니 다.
자바 클래스 를 정의 할 때 정의 setter 방법 보이 기
package com.demo.SpringBeanDemo;
import java.util.List;
public class BlankCompactDisc {
private CompactDisc compactDisc; //1.
private String artist ; //2.
private String music;
private List trackers; //3. ( )
private List compactDiscs; //4
public void setCompactDisc(CompactDisc compactDisc) {
this.compactDisc = compactDisc;
}
public void setArtist(String artist) {
this.artist = artist;
}
public void setMusic(String music) {
this.music = music;
}
public void setTracker(List trackers) {
this.trackers = trackers;
}
public void setCompactDiscs(List compactDiscs) {
this.compactDiscs = compactDiscs;
}
public void play() {
// setter
compactDisc.play();
// setter
System.out.println("XML CONFIG playing "+ music + " by "+ artist);
// setter ( )
for (String tracker : trackers) {
System.out.println("this is tracker: "+tracker);
}
// setter
for (CompactDisc compactDisc : compactDiscs) {
compactDisc.play();
}
}
}
xml 프로필 에서 자바 류 사 운 드 를 spring bean 으로 표시 할 때 속성 사용
tracker 1
tracker 2
테스트 코드 는 구조 기 가 주입 한 테스트 코드 와 같다.
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class CDPlayerTest {
ApplicationContext context = new FileSystemXmlApplicationContext("D:/workspace/SpringBeanDemo/src/bean-config.xml");
private BlankCompactDisc blankCompactDisc = (BlankCompactDisc) context.getBean("blankCompactDisc");
@Test
public void testPlayer() {
blankCompactDisc.play();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.