package domain;
public class Persion {
private String name;
private Integer age;
private SayService sayService;
public void SayHello() {
System.out.println("hello world!mkk" + sayService.getName());
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public SayService getSayService() {
return sayService;
}
public void setSayService(SayService sayService) {
this.sayService = sayService;
}
}
package domain;
public class SayService {
private String name;
public void Say() {
System.out.println("这个名字是:" + name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package ApplecationContextTool;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
final public class ApplicationContextFactory {
// 做成final,做成单例
private static ApplicationContext applicationContext = null;
public ApplicationContextFactory() {
// TODO Auto-generated constructor stub
// 体格空的构造方法
}
static {
// 静态语句块,执行一个,静态语句块只执行一次,放到方法区的静态区里面,只有一份,而且是共享的,单例模式的基础
applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
}
package Testmain;
import ApplecationContextTool.ApplicationContextFactory;
import domain.Persion;
public class TestOne {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 这里写yongspring的反射获取配置的类的对象和属性
// 获取spring的applicationContext的对象
// ApplicationContext applicationContext = new
// ClassPathXmlApplicationContext("applicationContext.xml");
// Persion persion = (Persion) applicationContext.getBean("persion");
// persion.SayHello();
Persion p = (Persion) ApplicationContextFactory.getApplicationContext().getBean("persion");
p.SayHello();
}
}