본문 바로가기

기존카테고리/Spring_basic1

DI - Constructor(생성자)를 통한 주입


ExamDao.java


package com.test.diEx02;


public class ExamDao {

private String msg;

public ExamDao() {}    // 기본생성자

public ExamDao(String msg){    // 인자생성자

this.msg = msg;

}

public void outputMsg(){

System.out.println("msg: "+msg);

}

}



main.java


package com.test.diEx02;


import org.springframework.context.support.AbstractApplicationContext;

import org.springframework.context.support.GenericXmlApplicationContext;


public class Main {


public static void main(String[] args) {

AbstractApplicationContext ctx = new GenericXmlApplicationContext("classpath:examDao.xml");

ExamDao examDao = ctx.getBean("examDao",ExamDao.class);

examDao.outputMsg();


}

}



examDao.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="examDao" class="com.test.diEx02.ExamDao">

<constructor-arg value="Hello Spring" />

</bean>


</beans>