前言:
Spring通过反射来实现获取对象
准备:
1. 建Spring1工程。
2. 导入Spring包
具体实现:
1. Person.java
2. Chinese.java
3. American.java
4. applicationContext.xml
5. Client.java
Spring通过反射来实现获取对象
准备:
1. 建Spring1工程。
2. 导入Spring包
具体实现:
1. Person.java
package com.simplefactory;
public interface Person {
public String sayHello(String name);
public String sayGoodBye(String name);
}
2. Chinese.java
package com.simplefactory;
public class Chinese implements Person{
@Override
public String sayGoodBye(String name) {
return "good by:"+name;
}
@Override
public String sayHello(String name) {
return "hello:"+name;
}
}
3. American.java
package com.simplefactory;
public class American implements Person {
@Override
public String sayGoodBye(String name) {
return "good by:"+name;
}
@Override
public String sayHello(String name) {
return "hello:"+name;
}
}
4. applicationContext.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-2.5.xsd">
<bean id="chinese" class="com.test.Chinese"></bean>
<bean id="american" class="com.test.American"></bean>
</beans>
5. Client.java
package com.test;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
public class Client {
public static void main(String[] args) {
ClassPathResource cpr=new ClassPathResource("applicationContext.xml");
XmlBeanFactory factory=new XmlBeanFactory(cpr);
Person person=(Person)factory.getBean("chinese");
System.out.println(person.sayHello("张三"));
System.out.println(person.sayGoodBye("张三"));
}
}