BE전문가 프로젝트

2. Spring 기본 문법(StartSpring) 본문

Spring 코딩

2. Spring 기본 문법(StartSpring)

원호보고서 2021. 11. 10. 01:50

덧셈 뺄셈 곱셈 나눗셈을 정의한 메소드 생성

package com.example;

public class Calculator {
	public void addAction(int a, int b) {
		System.out.println("Called addAction()");
		System.out.printf("%d + %d = %d\n", a, b, (a + b));
	}

	public void subAction(int a, int b) {
		System.out.println("Called subAction()");
		System.out.printf("%d - %d = %d\n", a, b, (a - b));
	}

	public void multiAction(int a, int b) {
		System.out.println("Called multiAction()");
		System.out.printf("%d x %d = %d\n", a, b, (a * b));
	}

	public void divAction(int a, int b) {
		System.out.println("Called divAction()");
		System.out.printf("%d / %d = %d\n", a, b, (a / b));
	}

}

Calculator 클래스를 참조하는 변수를 생성 후 메소드사용

package com.example;

public class MyCalculator {
	private Calculator calculator;
	private int firstNum;
	private int secondNum;

	public void add() {
		this.calculator.addAction(firstNum, secondNum);
	}

	public void sub() {
		this.calculator.subAction(firstNum, secondNum);
	}

	public void multi() {
		this.calculator.multiAction(firstNum, secondNum);
	}

	public void div() {
		this.calculator.divAction(firstNum, secondNum);
	}

}

 

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.xsd">

	<bean id="calculator" class="com.example.Calculator" />
	<bean id ="myCalculator" class="com.example.Calculator" />
		<property name="calculator" ref="calculator"/> 
		<property name="firstNum" value="10" /> 
		<property name="secondNum" value="2" /> 
	</bean>
</beans>

calculator와 Mycalculator를 참조할  두개의 Bean을 생성한다.  calculator의 아이디를 calculator로 하며 클래스를 참조할 경로를 설정한다. 마찬가지로 Mycalculator Bean의 아이디를 Mycalculator, 클래스를 참조할 경로를 설정한다. setter메소드를 사용하기때문에 이전과는 다르게 property를 사용하며 Mycalculator안에 있는 calculator는 참조변수 이기때문에 아이디가 calculator를 ref를 이용한다.

package com.example;

import org.springframework.context.support.GenericXmlApplicationContext;

public class MainClass {

	public static void main(String[] args) {
		GenericXmlApplicationContext ctx = 
        	new GenericXmlApplicationContext("classpath:applicationContext.xml");
		MyCalculator myCalculator = ctx.getBean("myCalculator", )
		

	}

}

getBean을 통하여 id가 "myCalculator"인 bean을 가져온다. 이전처럼 강제형변환도 가능하지만 뒤에 클래스를 사용해도 된다.

Comments