依賴注入4(例項化工廠例項化bean)
阿新 • • 發佈:2019-02-15
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(); } }