Error on Inner bean

hi guys

I have a bean defined

<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:/WEB-INF/config/common/devccc.properties</value>
</list>
</property>  
</bean>

The above bean loads the properties file. then i do this

<bean id="businessService" class="com.services.WorkBusinessService">
<property name="workDao">
<ref bean="workDao" />
</property>
<property name="emailservice" ref="emailservice"/>  --defining an inner bean
</bean>
                        

<bean id="emailservice"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="emailHost" value="${email.host}"/>      --These are the properties values       
<property name="url" value="${application.url}"/>                        
</bean>

I get an error

0000008 ContextLoader E org.springframework.web.context.ContextLoader initWebApplicationContext Context initialization failed
                                 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'emailservice' defined in class
path resource [WEB-INF/config/app-config.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'emailHost' of bean class [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]: Bean property 'emailHost' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1361)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
      at org.springframework.

I have defined a setter method in WorkBusinessService class
public void setEmailHost(String emailHost) {
            this.emailHost = emailHost;
      }
any idea where i am going wrong?

thanks
royjaydAsked:
Who is Participating?
 
Sathish David Kumar NConnect With a Mentor ArchitectCommented:
dont use like that jsut try this
<bean id="myProp"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

 <property name="location" value="classpath:/some.where.MyApp.properties" />

</bean>
0
 
royjaydAuthor Commented:
Any help with my next spring question will be greatly appreciated

http://www.experts-exchange.com/Programming/Languages/Java/J2EE/Frameworks/Spring/Q_26943158.html

thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.