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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- IOC容器的配置,要創建的所有的對象都配置在這裏 -->
<!-- 默認無參數 -->
<bean id = "admin1" class="erchou.Admin" scope="singleton"></bean>
<!-- 帶參數構造器 -->
<bean id = "admin2" class="erchou.Admin" scope="singleton">
<constructor-arg value="1"></constructor-arg>
<constructor-arg value="jack"></constructor-arg>
<constructor-arg value="123456"></constructor-arg>
</bean>
<!-- 工廠創建對象方法 -->
<!-- 調用實例方法 :1.先創建工廠 2.創建對象-->
<bean id = "factroy" class="erchou.ObjectFactoty"></bean>
<bean id = "admin3" factory-bean="factroy" factory-method="getAdmin"></bean>
<!-- 靜態方法 -->
<bean id = "admin4" class="erchou.ObjectFactoty" factory-method="getStaticAdmin"></bean>
</beans>
java主要代碼:
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App_2 {
/***
*
* 對象創建:
* 單例或者多例
* 單例:scope = "singleton" 默認是單例
* 多例:scope = "prototype"
*/
private static ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("erchou/bean.xml");
public static void main(String[] args) {
Admin admin1 = (Admin)ac.getBean("admin1");
System.out.println(admin1);
Admin admin2 = (Admin)ac.getBean("admin2");
System.out.println(admin2);
Admin admin3 = (Admin)ac.getBean("admin3");
System.out.println(admin3);
Admin admin4 = (Admin)ac.getBean("admin4");
System.out.println(admin4);
}
}