1.javabean
package com.bean;
public class Hello {
private String hello;
public String getHello() {
return hello;
}
public void setHello(String hello) {
this.hello = hello;
}
public void show() {
System.out.println("hello:"+hello);
}
}
2.工厂的类
package com.instanceFactory;
import com.bean.Hello;
public class InstanceFactory {
public Hello instanceFactory() {
return new Hello();
}
}
3.配置文件
<?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-4.3.xsd">
<!-- 实例化工厂实例化bean 1.实例化InstanceFactory类 2.用bean的工厂方法来创建一个新的bean实例
同样,若bean有带参构造函数,在配置时使用 <constructor-arg></constructor-arg>注入参数
注:不能有class
-->
<bean id="hello1" class="com.instanceFactory.InstanceFactory"/>
<bean id="hello" factory-bean="hello1" factory-method="instanceFactory"/>
</beans>
4.测试类
package com.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.bean.Hello;
public class Test1 {
public static void main(String[] arges) {
ApplicationContext context=new ClassPathXmlApplicationContext("config.xml");
Hello hello=(Hello) context.getBean("hello");
hello.show();
}
}