XML을 이용하는 애플리케이션 컨텍스트
GenericXmlApplicationContext의 생성자 파라미터로 XML파일의 클래스패스를 지정해준다.
xml설정정보를 담은 applicationCTX.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.javalec.ex.Calculator" /> <bean id="myCalculator" class="com.javalec.ex.MyCalculator"> <property name="calculator"> <ref bean="calculator"/> </property> <property name="firstNum" value="10" /> <property name="secondNum" value="2"></property> </bean> </beans>
|
|


소스
Mainclass.java
package com.javalec.ex; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; public class MainClass { public static void main(String[] args) { /* MyCalculator myCalculator = new MyCalculator(); myCalculator.setCalculator(new Calculator()); myCalculator.setFirstNum(10); myCalculator.setSecondNum(2); myCalculator.add(); myCalculator.sub(); myCalculator.mul(); myCalculator.div(); */ String configLocation = "classpath:applicationCTX.xml"; AbstractApplicationContext ctx = new GenericXmlApplicationContext(configLocation); MyCalculator myCalculator = ctx.getBean("myCalculator", MyCalculator.class); myCalculator.add(); myCalculator.sub(); myCalculator.mul(); myCalculator.div(); } }
|
|
MyCalculator.java
package com.javalec.ex; public class MyCalculator { Calculator calculator; private int firstNum; private int secondNum; public MyCalculator() { } public void add() { calculator.addition(firstNum, secondNum); } public void sub() { calculator.subtraction(firstNum, secondNum); } public void mul() { calculator.multiplication(firstNum, secondNum); } public void div() { calculator.division(firstNum, secondNum); } public void setCalculator(Calculator calculator) { this.calculator = calculator; } public void setFirstNum(int firstNum) { this.firstNum = firstNum; } public void setSecondNum(int secondNum) { this.secondNum = secondNum; } }
|
|
Calculator.java
package com.javalec.ex; public class Calculator { public void addition(int f, int s) { System.out.println("addition()"); int result = f + s; System.out.println(f + " + " + s + " = " + result); } public void subtraction(int f, int s) { System.out.println("subtraction()"); int result = f - s; System.out.println(f + " - " + s + " = " + result); } public void multiplication(int f, int s) { System.out.println("multiplication()"); int result = f * s; System.out.println(f + " * " + s + " = " + result); } public void division(int f, int s) { System.out.println("division()"); int result = f / s; System.out.println(f + " / " + s + " = " + result); } }
|
|