//代码如下:
package com.timo.domain; public class ClientService { //use static factory method create bean private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public static ClientService getClientService() { return clientService; } public static void setClientService(ClientService clientService) { ClientService.clientService = clientService; } private static ClientService clientService=new ClientService(); private static People people=new People(); private ClientService(){} public static ClientService createInstance(){ clientService.setName("杨贵妃"); return clientService; } public static People createPeopleInstance(){ return people; } }
配置文件
applicationContext-static-factory.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.xsd"> <bean id="clientService" class="com.timo.domain.ClientService" factory-method="createInstance"/> </beans>
测试类的代码如下:
package com.timo.test; import com.timo.domain.ClientService; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test4 { public static void main(String[] args) { ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext-static-factory.xml"); ClientService clientService = applicationContext.getBean(ClientService.class); System.out.println("name="+clientService.getName()); } }