1.構造器 也就是在上一篇講的那個例子,調用預設的無參構造函數 2.靜態工廠方法 1)創建需要執行的方法的類 2)創建靜態工廠 3)編寫applicationContext.xml配置文件 4)啟動容器,創建對象,調用方法 3.實例工廠方法(略) ...
1.構造器
也就是在上一篇講的那個例子,調用預設的無參構造函數
2.靜態工廠方法
1)創建需要執行的方法的類
public class HelloWorld { public HelloWorld(){ System.out.println("aaaa"); } public void hello(){ System.out.println("hello world"); } }
2)創建靜態工廠
public class HelloWorldFactory { public static HelloWorld getInstance(){ return new HelloWorld(); } }
3)編寫applicationContext.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- 在這個配置中,spring容器要用預設的構造函數為HelloWorld創建對象 --> <bean id="helloWorld" class="HelloWorld"></bean> <!-- 採用靜態工廠方法創建對象 factory-method為工廠方法 --> <bean id="helloWorld2" class="HelloWorldFactory" factory-method="getInstance"></bean> </beans>
4)啟動容器,創建對象,調用方法
@Test public void test(){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); HelloWorld world = (HelloWorld)context.getBean("helloWorld2"); world.hello(); }
3.實例工廠方法(略)