maven 기초 (3)
package com.java.www;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainClass {
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("com/java/www/Bean.xml");
//AbstractApplicationContext ctx=new GenericXmlApplicationContext("classpath:Bean.xml");
MyCal myCal=ctx.getBean("myCal",MyCal.class); //spring이 di 할거임
//<bean id="myCal" class="com.java.www.MyCal">
//myCal.setCalculator(new Calculator()); //MyCal에서 객체 넣어주기
/*
* myCal.setFirstNum(10); System.out.println(myCal.getFirstNum());
* myCal.setSecondNum(2); System.out.println(myCal.getSecondNum());
*/
myCal.add();
myCal.sub();
}
}
package com.java.www;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class MyCal {
Calculator calculator;
private int firstNum;
private int secondNum;
public void add() {
calculator.addition(firstNum, secondNum);
}
public void sub() {
calculator.substraction(firstNum, secondNum);
}
}
package com.java.www;
public class Calculator {
public void addition(int f,int s){
System.out.println("addition계산");
int result=f+s;
System.out.println("결과값:"+result);
}
public void substraction(int f,int s) {
System.out.println("substraction 계산");
int result=f-s;
System.out.println("결과값:"+result);
}
}
<?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.java.www.Calculator"/>
<!--객체선언-->
<!--id : 빈의 이름 class : 빈으로 등록할 클래스-->
<bean id="myCal" class="com.java.www.MyCal">
<property name="calculator" >
<ref bean="calculator"/>
<!-- name : class에서 사용할 setter 이름
ref : setter에 주입할 bean(객체)의 이름 -->
</property>
<property name="firstNum" value="10" />
<property name="secondNum" value="2" />
</bean>
</beans>
참고링크
bean.xml 이해 예제 추가
// bookService Bean 등록 -> bookRepository의 의존관계 주입
// property의 name값은 bookService의 setter값이며 ref값은 참조할 bean의 id값이다.
<bean id="bookService" class="me.whiteship.springapplicationcontext.BookService" >
<property name="bookRepository" ref="bookRepository" />
</bean>
// bookRepository Bean 등록
<bean id="bookRepository" class="me.whiteship.springapplicationcontext.BookRepository" />