Spring: Programmatically use PropertyPlaceHolderConfigurer on none Singelton Beans

I'm aware that the following implementation of a PropertyPlaceHolderConfigurer is possible:

public class SpringStart {
   public static void main(String[] args) throws Exception {
     PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
     Properties properties = new Properties();
     properties.setProperty("first.prop", "first value");
     properties.setProperty("second.prop", "second value");
     configurer.setProperties(properties);

     ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext();
     context.addBeanFactoryPostProcessor(configurer);

     context.setConfigLocation("spring-config.xml");
     context.refresh();

     TestClass testClass = (TestClass)context.getBean("testBean");
     System.out.println(testClass.getFirst());
     System.out.println(testClass.getSecond());
  }}

With this in the config file:

<?xml version="1.0" encoding="UTF-8"?>

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

<bean id="testBean" class="com.spring.ioc.TestClass">
    <property name="first" value="${first.prop}"/>
    <property name="second" value="${second.prop}"/>
</bean>

However, this looks to me that the changes made to the testBean will be shown on all the test beans.

How do I use the propertyPlaceHolderCongfigurer in such a way that I can apply it to individual instances of the bean, and have access to each of these instances?

I hope the question makes sense. Any help would be much appreciated.

Answers


By default Spring beans are singletons, that is subsequent calls to context.getBean("testBean") would return the same instance. If you want them to return different instances, you should set a scope = "prototype" on the bean definition:

<bean id="testBean" class="com.spring.ioc.TestClass" scope = "prototype"> 
...

Need Your Help

JQuery - selecting dynamically named elements to use in equations

javascript jquery html forms

I have a question that I'm stumped on. I'm building a form that has input fields that are then used in equations. However, the tricky part is that I have additional fieldsets and inputs dynamically

WebRTC Broadcasting - Make a Peer Act as a Streaming Server

webrtc broadcasting

Can we implement a mid-scale broadcasting (maybe upto few hundreds) over WebRTC by using a star topology.