덧셈 뺄셈 곱셈 나눗셈을 정의한 메소드 생성
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을 가져온다. 이전처럼 강제형변환도 가능하지만 뒤에 클래스를 사용해도 된다.
'Spring 코딩' 카테고리의 다른 글
5. xml과 Annotation을 동시에 이용하여 설정하기(StringDemo4) (0) | 2021.11.22 |
---|---|
4. Setter와 생성자 이용하여 설정하기(Spring Demo2) (0) | 2021.11.21 |
3. xml과 Annotaion을 이용하여 객체를 설정하는 방법(DI Demo, DIDemo2) (0) | 2021.11.11 |
1. Spring 기본 문법(xml을 이용하여 main에 출력(HelloWorld)) (0) | 2021.11.09 |