File: context.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--(1) -->
<bean id="socketFactory" class="javax.net.SocketFactory" factory-method="getDefault">
</bean>
<bean id="localhost"
factory-bean="socketFactory" factory-method="createSocket">
<constructor-arg value="localhost"/>
<constructor-arg value="80"/>
</bean>
<bean id="java2s.com"
factory-bean="socketFactory" factory-method="createSocket">
<constructor-arg value="www.java2s.com"/>
<constructor-arg value="80"/>
</bean>
</beans>
File: Main.java
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
public class Main {
public static void main(String[] args) throws Exception {
ConfigurableListableBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(
"context.xml"));
java.net.Socket localhost = (java.net.Socket) beanFactory.getBean("localhost");
java.net.Socket apressDotCom = (java.net.Socket) beanFactory.getBean("java2s.com");
System.out.println(localhost.isConnected());
System.out.println(apressDotCom.isConnected());
}
}
Download: Spring-FactoryObjectIntegration.zip( 2,598 k)