public class JdbcBeanDefinitionReader extends Object
Expects columns for bean name, property name and value as String. Formats for each are identical to the properties format recognized by PropertiesBeanDefinitionReader.
NOTE: This is mainly intended as an example for a custom JDBC-based bean definition reader. It does not aim to offer comprehensive functionality.
loadBeanDefinitions(java.lang.String)
,
PropertiesBeanDefinitionReader
Constructor and Description |
---|
JdbcBeanDefinitionReader(BeanDefinitionRegistry beanFactory)
Create a new JdbcBeanDefinitionReader for the given bean factory,
using a default PropertiesBeanDefinitionReader underneath.
|
JdbcBeanDefinitionReader(PropertiesBeanDefinitionReader beanDefinitionReader)
Create a new JdbcBeanDefinitionReader that delegates to the
given PropertiesBeanDefinitionReader underneath.
|
Modifier and Type | Method and Description |
---|---|
void |
loadBeanDefinitions(String sql)
Load bean definitions from the database via the given SQL string.
|
void |
setDataSource(DataSource dataSource)
Set the DataSource to use to obtain database connections.
|
void |
setJdbcTemplate(JdbcTemplate jdbcTemplate)
Set the JdbcTemplate to be used by this bean factory.
|
public JdbcBeanDefinitionReader(BeanDefinitionRegistry beanFactory)
DataSource or JdbcTemplate still need to be set.
public JdbcBeanDefinitionReader(PropertiesBeanDefinitionReader beanDefinitionReader)
DataSource or JdbcTemplate still need to be set.
public void setDataSource(DataSource dataSource)
public void setJdbcTemplate(JdbcTemplate jdbcTemplate)
public void loadBeanDefinitions(String sql)
sql
- SQL query to use for loading bean definitions.
The first three columns must be bean name, property name and value.
Any join and any other columns are permitted: e.g.
SELECT BEAN_NAME, PROPERTY, VALUE FROM CONFIG WHERE CONFIG.APP_ID = 1
It's also possible to perform a join. Column names are not significant --
only the ordering of these first three columns.