Spring 단순 의존 주입 데모

3815 단어 springbeanxml
Spring 의 큰 특징 은 설 정 된 xml 파일 을 이용 하여 의존 주입 을 실현 하 는 것 이다.
의존 주입 이란 한 업무 대상 을 다른 업무 대상 에 주입 하여 달성 하 는 것 을 말한다.
대상 간 의 느슨 한 결합.
다음은 우리 가 예 를 들 자.
장면: 현재 디스크 출력 업무 가 있 습 니 다. 클 라 이언 트 는 두 개의 업무 대상 을 통 해 출력 해 야 합 니 다.
하 나 는 플 로 피 (플 로 피) 를 통 해, 다른 하 나 는 USB 인 터 페 이 스 를 통 해.
이렇게 하면 두 개의 업무 유형 이 필요 하지만 클 라 이언 트 가 알 지 못 하 게 간단 한 주입 을 실현 한다 면?
우선, 2 가지 장치, 플 로 피 디스크, USB 가 있 기 때문에 장치 인터페이스 IDevice Writer 를 만들어 야 합 니 다.
코드 는 다음 과 같 습 니 다:

package spring.basic.BusinessFactory;

public interface IDeviceWriter {
	public void saveToDevice();
}

장치 인 터 페 이 스 를 구축 한 후에 우 리 는 플 로 피 디스크 와 USB 로 이 인 터 페 이 스 를 실현 할 수 있다.
플 로 피 디스크 코드 는 다음 과 같 습 니 다.

package spring.basic.BusinessFactory;

public class FloppyWriter implements IDeviceWriter {
	public void saveToDevice() {
		System.out.println("     …");
	}
}

USB 클래스 코드 는 다음 과 같 습 니 다.

package spring.basic.BusinessFactory;

public class UsbDiskWriter implements IDeviceWriter {
	public void saveToDevice() {
		System.out.println("       …");
	}
}

그 다음 에 우 리 는 디스크 업무 의 자바 빈 류 를 만들어 야 한다. 우 리 는 그것 을 비 즈 니스 빈 이 라 고 부른다.
이 빈 은 장치 - writer 를 저장 하 는 데 사용 되 는 멤버 가 있다.
그리고 get, set 방법 과 핵심 저장 방법 이 있 습 니 다.
BusinessBean 코드 는 다음 과 같 습 니 다.

package spring.basic.BusinessFactory;

public class BusinessBean {
	private IDeviceWriter writer;

	public void setDeviceWriter(IDeviceWriter writer) {
		this.writer = writer;
	}

	public IDeviceWriter getDeviceWriter() {
		return writer;
	}

	public void save() {
		if (writer == null) {
			throw new RuntimeException("DeviceWriter needed...");
		}
		writer.saveToDevice();
	}
}


업무 클래스 가 완 료 된 후에 우 리 는 설정 파일 에서 의존 관 계 를 설정 할 수 있 습 니 다.
(비고: bean 의존 키 워드 는 ref)
프로필 businessFactory Config. xml 코드 는 다음 과 같 습 니 다.

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans 
  http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    <bean id="floppy" class="spring.basic.BusinessFactory.FloppyWriter"/>
    <bean id="usb" class="spring.basic.BusinessFactory.UsbDiskWriter"/>
       
    <bean id="businessBean" 
          class="spring.basic.BusinessFactory.BusinessBean"> 
        <property name="deviceWriter">
            <ref bean="floppy"/>
        </property> 
    </bean> 
</beans>

위의 프로필 에 플 로 피 비 안 을 주 입 했 습 니 다. usb 비 안 을 주 입 했 습 니 다.
마지막 으로 클 라 이언 트 코드 를 쓰 겠 습 니 다. 다음 과 같 습 니 다.

package spring.basic.BusinessFactory;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringDemo {
	public static void main(String[] args) {
		ApplicationContext context = new ClassPathXmlApplicationContext(
		"businessFactoryConfig.xml");

		BusinessBean business = (BusinessBean) context.getBean("businessBean");
		
		business.save();
	}
}

실행 한 결과: 플 로 피 디스크 에 저장...

좋은 웹페이지 즐겨찾기