maven 기초 (3)

easyliving·2023년 2월 13일
0

FRONT_END (JAVA_SCRIPT)

목록 보기
41/55

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 IoC

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" />

출처 링크

profile
가끔져요

0개의 댓글