maven repository
pom.xml version 관리
<properties>
<org.springframewor-version>5.2.22.RELEASE</org.springframewor-version>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<!--library-->
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframewor-version}</version>
</dependency>
com.java.www
package com.java.www;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
public class MainClass {
public static void main(String[] args) {
//HelloWorldEn hello1=new HelloWorldEn();
//bean 호출법
AbstractApplicationContext ctx= new GenericXmlApplicationContext("classpath:beans.xml");
Hello hello1=ctx.getBean("hello1",Hello.class);
//Hello.class<-interface 인가요?
callMethod(hello1);
//<bean id="hello1" class="com.java.www.HelloWorldGem"/>
//public interface Hello {public void sayHello();}
</beans>
}
public static void callMethod(Hello helloVo) {
helloVo.sayHello();
}
}
package com.java.www;
public interface Hello {
public void sayHello();
}
package com.java.www;
public class HelloWorldKo implements Hello {
public void sayHello() {
System.out.println("한국어: 안녕");
}
}
------------------------------------------------------
package com.java.www;
public class HelloWorldEn implements Hello {
public void sayHello() {
System.out.println("English:hello!");
}
}
<?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">
<!-- HelloWorldEn hello1 = new HelloWorldEn(); / 위치점 - copyqualifiedName-->
<bean id="hello1" class="com.java.www.HelloWorldGem"/>
</beans>