Spring 단순 의존 주입 데모
의존 주입 이란 한 업무 대상 을 다른 업무 대상 에 주입 하여 달성 하 는 것 을 말한다.
대상 간 의 느슨 한 결합.
다음은 우리 가 예 를 들 자.
장면: 현재 디스크 출력 업무 가 있 습 니 다. 클 라 이언 트 는 두 개의 업무 대상 을 통 해 출력 해 야 합 니 다.
하 나 는 플 로 피 (플 로 피) 를 통 해, 다른 하 나 는 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();
}
}
실행 한 결과: 플 로 피 디스크 에 저장...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.