'How to import DataSource created in @Configuration java class and use in config.xml as reference

I have my datasource in below class. Is there any way I can use that in config.xml? I am getting an Error creating bean with name 'cmsTemplate' defined in file: cannot resolve reference bean 'contentDataSource' while setting constructor argument.

JdbcConfiguration.java

@Configuration
public class JdbcConfiguration{
@Value("$comContent.url")
private String dbUrl;
@Value("$comContent.dbUser")
private String dbUser;
@Value("$comContent.dbPass")
private String dbPass;

//rest of the properties

@Bean
@Primary
public DataSource contentDataSource() throws SQLException {
    //code
}
}

config.xml

<bean id="cmsTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-args type="javax.sql.DataSource">
<ref bean="contentDataSource"/>
</constructor-args>
<property name="fetchSize" value="{systemProperties['jdbcFetchSize']}" />
</bean>


//Need to create datasource before spring context is getting created. Previously it was like below commented code.

<!-- <bean id="contentDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/comContent</value>
</property>
</bean> -->


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source