Bean1.java
package zh.spring.entity; public class Bean1 { // 需要无参构造方法 public Bean1(){ } public void fun() { System.out.println("bean1..."); } }
在src下创建bean1.xml。
Bean1Test.java
package zh.spring.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import zh.spring.entity.Bean1; public class Bean1Test { public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean1.xml"); Bean1 bean11 = (Bean1) applicationContext.getBean("bean1"); Bean1 bean12 = (Bean1) applicationContext.getBean("bean1"); // scope="singleton",所以创建的对象是单例的 System.out.println(bean11);// zh.spring.entity.Bean1@3a227c36 System.out.println(bean12);// zh.spring.entity.Bean1@3a227c36 bean11.fun();// bean1... bean12.fun();// bean1... } }
Bean1.java
package zh.spring.entity; public class Bean1 { public Bean1(){ } public void fun() { System.out.println("bean1..."); } }
MyFactory1.java
package zh.spring.entity; /** * 静态工厂 * @author ZH */ public class MyFactory1 { public static Bean1 getBean1(){ return new Bean1(); } }
在src下创建bean1.xml。
Bean1Test.java
package zh.spring.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import zh.spring.entity.Bean1; public class Bean1Test { public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean1.xml"); Bean1 bean11 = (Bean1) applicationContext.getBean("bean1"); Bean1 bean12 = (Bean1) applicationContext.getBean("bean1"); // scope="prototype",所以创建的对象是多例的 System.out.println(bean11);// zh.spring.entity.Bean1@7f7f557 System.out.println(bean12);// zh.spring.entity.Bean1@280c26d7 bean11.fun();// bean1... bean12.fun();// bean1... } }
Bean1.xml
package zh.spring.entity; public class Bean1 { public Bean1(){ } public void fun() { System.out.println("bean1..."); } }
MyFactory2.java
package zh.spring.entity; /** * 实例工厂 * @author ZH */ public class MyFactory2 { public Bean1 getBean1(){ return new Bean1(); } }
在src下创建bean1.xml。
Bean1Test.java
package zh.spring.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import zh.spring.entity.Bean1; public class Bean1Test { public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean1.xml"); Bean1 bean11 = (Bean1) applicationContext.getBean("bean1"); Bean1 bean12 = (Bean1) applicationContext.getBean("bean1"); // scope="prototype",所以创建的对象是多例的 System.out.println(bean11);// zh.spring.entity.Bean1@16ae079 System.out.println(bean12);// zh.spring.entity.Bean1@fb728a9 bean11.fun();// bean1... bean12.fun();// bean1... } }