dev.Log

DI 기초예제 본문

BACKEND.*

DI 기초예제

초코푸딩 2020. 7. 8. 23:17

프로젝트생성 : spring legacy project -> spring mvc project -> com.khjk.{프로젝트명}

package com.khjk.spring_pjt_board;

import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;

public class MainClass {

	public static void main(String[] args) {
		String configLocation = "classpath:applicationCTX.xml";
		AbstractApplicationContext ctx = new GenericXmlApplicationContext(configLocation);
		MyCalculator myCalculator = ctx.getBean("myCalculator", MyCalculator.class);
		
		
		myCalculator.add();
		myCalculator.sub();
	}

}

MainClass.java

package com.khjk.spring_pjt_board;

public class MyCalculator {
	private Calculator calculator;
	private int firstNum;
	private int secondNum;
	public Calculator getCalculator() {
		return calculator;
	}
	public void setCalculator(Calculator calculator) {
		this.calculator = calculator;
	}
	public int getFirstNum() {
		return firstNum;
	}
	public void setFirstNum(int firstNum) {
		this.firstNum = firstNum;
	}
	public int getSecondNum() {
		return secondNum;
	}
	public void setSecondNum(int secondNum) {
		this.secondNum = secondNum;
	}
	public void add() {
		calculator.addition(firstNum, secondNum);
	}
	public void sub() {
		calculator.subtraction(firstNum, secondNum);
	}
}

MyCalculator.java (위 세개 파일 위치 : src/main/java)

package com.khjk.spring_pjt_board;

public class Calculator {
	public void addition(int f, int s) {
		int result = f + s;
		System.out.println(f + "+" + s +"=" + result );
	}
	public void subtraction(int f, int s) {
		int result = f - s;
		System.out.println(f + "-" + s + "=" + result);
	}
}

Calculator.java

<?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.xsd">
	
	<bean id="calculator" class="com.khjk.spring_pjt_board.Calculator"/>
	
	<bean id="myCalculator" class="com.khjk.spring_pjt_board.MyCalculator">
		<property name="calculator">
			<ref bean="calculator"/>
		</property>
		<property name="firstNum" value="10"></property>
		<property name="secondNum" value="4"></property>
	</bean>

</beans>

applicationCTX.xml (위치: src/main/resources 하위)

'BACKEND.*' 카테고리의 다른 글

Redis  (0) 2020.07.09
beanconfig 예제  (0) 2020.07.09
커서기반 페이지네이션  (0) 2020.07.08
코드 커버리지  (0) 2020.07.07
sql dummy data 생성하기  (1) 2020.07.07
Comments