Sunday, March 20, 2011

Spring : Factory methods with parameters

There are 2 ways of passing parameters to the factory-methods

  • by xml
  • by code

By Xml

Consider this bean:

public class TestObject{  

private String id;

private TestObject(String id){
super(); = id;

public static TestObject getInstance(String id){
return new TestObject(i)

Now in the config file just use constructor-arg for this:

<bean id="testObject" class="TestObject" factory-method="getInstance">
<constructor-arg type="java.lang.String" value="object-id-123"/>

By Code

In the context creating file write this :

ApplicationContext container = new ClassPathXmlApplicationContext("/some path/config.xml");
TestObject obj = (TestObject) containter.getBean("testObject","myParameter");

1 comment:

  1. TestObject obj = (TestObject) containter.getBean("testObject","myParameter"); will not work for singleton objects