기존카테고리/Spring_basic1
DI - 프로퍼티(property) 방식
자연과벗하다
2017. 7. 10. 03:39
MybatisDao.java
package com.test.diEx04;
public class MyBatisDao {
public MyBatisDao() {};
public void insertDB(){
System.out.println("insert DB 로직");
}
public void updateDB(){
System.out.println("update 로직");
}
}
MyBatisService.java
package com.test.diEx04;
public class MyBatisService {
private MyBatisDao myBatisDao;
public void setMyBatisDao(MyBatisDao myBatisDao){
this.myBatisDao = myBatisDao;
}
public void myBatisTest(){
System.out.println("======================");
myBatisDao.insertDB();
myBatisDao.updateDB();
System.out.println("======================");
}
}
Main.java
package com.test.diEx04;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
public class Main {
public static void main(String[] args) {
AbstractApplicationContext ctx = new GenericXmlApplicationContext("classpath:myBatis.xml");
MyBatisService service = ctx.getBean("service",MyBatisService.class);
service.myBatisTest();
ctx.close();
}
}
myBatis.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"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="myBatis" class="com.test.diEx04.MyBatisDao"></bean>
<bean id="service" class="com.test.diEx04.MyBatisService" p:myBatisDao-ref="myBatis">
<!-- setXXXXX() set을 제외한 XXXXX를 프로퍼티의 name으로 사용한다.
해당 클래스의 setMyBatisDao()를 호출하는 것이다.
이러한 방식을 프로퍼티 설정방식이라고 한다.
-->
<!--xml의 네임 스페이스 방식을 이용하면 property 태그를 사용하지 않는다.
"p:프로퍼티이름" 또는 "p:프로퍼티이름-ref='...'" 속성을 사용한다.
<property name="myBatisDao" ref="myBatis"/>
-->
</bean>
</beans>