본문 바로가기
study/Spring

[Spring] 24. Spring D.I (App, Message, MessageKo, pom, applicationContext)

by 금이패런츠 2022. 5. 2.
728x90
반응형
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>kr.kic</groupId>
  <artifactId>springjava</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>springjava</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
   
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.18</version>
</dependency>
    
  </dependencies>
</project>

package kr.kic.springjava;

import org.springframework.context.support.GenericXmlApplicationContext;

public class App {
    public static void main( String[] args ) {
    	GenericXmlApplicationContext ctx = new GenericXmlApplicationContext("classpath:applicationContext.xml");
    	Message m = ctx.getBean("message",Message.class);
    	m.sayHello("홍길동");
    }
}

package kr.kic.springjava;

public interface Message {
	void sayHello(String msg);
}

<?xml version="1.0" encoding="UTF-8"?>
<!-- /src/main/java/applicationContext.xml -->
<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="message" class="kr.kic.springjava.MessageKo" />
</beans>

package kr.kic.springjava;

public class MessageKo implements Message{
	@Override
	public void sayHello(String msg) {
		System.out.println("반갑습니다. " + msg + "님");
	}
}
728x90
반응형