Spring(DI)_02_03

2025. 1. 21. 21:16·Spring, Boot/기초 내용 정리

2025-01-21

 

 

 

 

 

 

INFO : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [mydao.xml]
INFO : org.springframework.context.support.GenericXmlApplicationContext - Refreshing org.springframework.context.support.GenericXmlApplicationContext@32cf48b7: startup date [Tue Jan 21 21:14:52 KST 2025]; root of context hierarchy
INFO : org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@687e99d8: defining beans [mysql,oracle,service]; root of factory hierarchy
MySqlDAO 데이터베이스 연동입니다
INFO : org.springframework.context.support.GenericXmlApplicationContext - Closing org.springframework.context.support.GenericXmlApplicationContext@32cf48b7: startup date [Tue Jan 21 21:14:52 KST 2025]; root of context hierarchy
INFO : org.springframework.beans.factory.support.DefaultListableBeanFactory - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@687e99d8: defining beans [mysql,oracle,service]; root of factory hierarchy

 

package com.spring.di03;

import org.springframework.context.support.GenericXmlApplicationContext;

public class Main {

	public static void main(String[] args) {
		
		GenericXmlApplicationContext contaier = 
				new GenericXmlApplicationContext("mydao.xml");
		
		DAOImpl dao = (DAOImpl)contaier.getBean("service");
		
		dao.connect();
		
		contaier.close();
	}
}

 

package com.spring.di03;

public interface DAO {

	void add();	// 추상 메서드
}

 

package com.spring.di03;

import lombok.Data;

@Data
public class DAOImpl {

	private DAO dao;
	
	// 비지니스 로직
	public void connect() {
		this.dao.add();
	}
}

 

package com.spring.di03;

public class MySqlDAO implements DAO {

	@Override
	public void add() {
		System.out.println("MySqlDAO 데이터베이스 연동입니다");
	}

}

 

package com.spring.di03;

public class OracleDAO implements DAO {

	@Override
	public void add() {
		System.out.println("OracleDAO 데이터베이스 연동입니다");
	}

}

 

<?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="mysql" class="com.spring.di03.MySqlDAO"/>
	<bean id="oracle" class="com.spring.di03.OracleDAO"/>
	<bean id="service" class="com.spring.di03.DAOImpl">
		<!-- name="dao" ==> 변수명 -->
		<property name="dao">
			<ref bean="mysql"/>
		</property>
	</bean>

</beans>

'Spring, Boot > 기초 내용 정리' 카테고리의 다른 글

Spring(DI)_02_05  (0) 2025.01.22
Spring(DI)_02_04  (0) 2025.01.22
Spring(DI)_02_02  (0) 2025.01.21
Spring(DI)_02_01  (0) 2025.01.21
Spring(DI)_01_05  (1) 2025.01.21
'Spring, Boot/기초 내용 정리' 카테고리의 다른 글
  • Spring(DI)_02_05
  • Spring(DI)_02_04
  • Spring(DI)_02_02
  • Spring(DI)_02_01
mw41817
mw41817
일생의 개발 기록 저장소
  • mw41817
    IT 개발 일지
    mw41817
    • Index (487)
      • HTML (36)
        • 기초 내용 정리 (36)
      • CSS (29)
        • 기초 내용 정리 (29)
      • JavaScript (60)
        • 기초 내용 정리 (60)
      • JQuery (38)
        • 기초 내용 정리 (38)
      • Java (232)
        • 기초 내용 정리 (232)
      • JSP (46)
        • 기초 내용 정리 (46)
      • Spring, Boot (31)
        • 기초 내용 정리 (31)
      • DB (5)
        • Oracle SQL (5)
      • Code WorkBook (6)
        • programmers (6)
        • Baekjoon (0)
      • 기타 (1)
        • 유용한 사이트 (3)
  • 전체
    오늘
    어제
  • 글쓰기 관리
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 카테고리
    • 주인장 GitHub
  • 공지사항

  • 인기 글

  • 태그

    html #코딩 #프로그래밍 #기초
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
mw41817
Spring(DI)_02_03
상단으로

티스토리툴바