スプリング簡易計算機とDIの方法について
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) {
// Calculation calculation = new Calculation();
// calculation.setFirstNum(10);
// calculation.setSecondNum(2);
//
String configLocation = "classpath:NewFile.xml";
AbstractApplicationContext ctx = new GenericXmlApplicationContext(configLocation);
MyCalculator myCalculator=ctx.getBean("myCalculator",MyCalculator.class);
myCalculator.add();
myCalculator.sub();
myCalculator.mul();
myCalculator.div();
}
}
スプリングじゃない!MainClassでCalcuationインスタンスを使用してCalculationオブジェクトを作成し、必要なメソッドを呼び出す場合(現在のコメント処理)分割方法:
外部ファイルを使用して必要なオブジェクトを取得し、メソッドを呼び出します.
外部ファイルはです.xml
リソース内
Spring Beanプロファイルを選択できますが、作成者にエラーが発生しました.
なぜかJREバージョン賭けて転ぶ
代替案として.
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">
</beans>
Bean Configuration Fileソースをコピーして貼り付け、効果的です!とにかく.
application.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"/>
//Calculator 의 객체 calculator 를 만들어줬다
<bean id="myCalculator" class="com.javalec.ex.MyCalculator">
//MyCalculator 객체 myCalculator 를 만들었다
<property name="calculator"> //멤버변수로 calculator 를 뒀다
<ref bean = "calculator"/> // 참조형 변수로 얘를 둬서 자료형이 Calculator 이다
</property>
<property name="firstNum" value="10"/>//멤버변수 firstNum 이고 값이 10
<property name="secondNum" value="2"/>//멤버변수 secondNum 이고 값이 2
</bean>
</beans>
application.xmlが必要なオブジェクトの生成MyCalculator.java
package com.javalec.ex;
public class MyCalculator {
public 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) { //받아온 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) {
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);
}
public void multiplication(int f, int s) {
int result = f * s;
System.out.println(f + " * " + s + " = " + result);
}
public void division(int f, int s) {
int result = f/s;
System.out.println(f + " / " + s + " = " + result);
}
}
McCalculatorには計算機アドレスがあるので、そこからメソッドを呼び出すのはここまでです.図で表すなら、そうです.
Reference
この問題について(スプリング簡易計算機とDIの方法について), 我々は、より多くの情報をここで見つけました https://velog.io/@kychoi123/스프링-간단-계산기와-DI-방식-이해テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol