package com.zxl.spring;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringApp12 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("SpringBeans.xml");
SpringBean springBean=(SpringBean) context.getBean("constructorInstantiatedBean");
System.out.println(springBean.getMessage());
springBean=(SpringBean) context.getBean("staticlyInstantiatedBean");
System.out.println(springBean.getMessage());
springBean=(SpringBean) context.getBean("factoryInstantiatedBean");
System.out.println(springBean.getMessage());
context.close();
}
}
package com.zxl.spring;
public class SpringBean {
private String message;
private static SpringBean springBean=new SpringBean();
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public static SpringBean getSpringBean() {
return springBean;
}
}
package com.zxl.spring;
public class SpringBeanFactory {
public SpringBean createSpringBean(){
return new SpringBean();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" >
<bean id="constructorInstantiatedBean" class="com.zxl.spring.SpringBean" >
<property name="message" value="this bean was instantiated using a constructor..." />
</bean>
<bean name="staticlyInstantiatedBean" class="com.zxl.spring.SpringBean" factory-method="getSpringBean" >
<property name="message" value="this bean was instantiated using a static method..." />
</bean>
<bean name="springBeanFactory" class="com.zxl.spring.SpringBeanFactory" />
<bean name="factoryInstantiatedBean" factory-bean="springBeanFactory" factory-method="createSpringBean" >
<property name="message" value="this bean was instantiated using a factory method..." />
</bean>
</beans>