Package org.springframework.jdbc.datasource.lookup

# Class BeanFactoryDataSourceLookup

java.lang.Object
org.springframework.jdbc.datasource.lookup.BeanFactoryDataSourceLookup

All Implemented Interfaces:
  `org.springframework.beans.factory.Aware`, `org.springframework.beans.factory.BeanFactoryAware`, `DataSourceLookup`

public class BeanFactoryDataSourceLookup extends Object implements DataSourceLookup, org.springframework.beans.factory.BeanFactoryAware
`DataSourceLookup` implementation based on a Spring `BeanFactory`.

Will lookup Spring managed beans identified by bean name, expecting them to be of type `javax.sql.DataSource`.

Since:
  2.0
Author:
  Costin Leau, Juergen Hoeller
See Also:
  - `BeanFactory`

## Constructor Summary

Constructors
Constructor
Description
`BeanFactoryDataSourceLookup()`
Create a new instance of the `BeanFactoryDataSourceLookup` class.
`BeanFactoryDataSourceLookup(org.springframework.beans.factory.BeanFactory beanFactory)`
Create a new instance of the `BeanFactoryDataSourceLookup` class.

## Method Summary

Modifier and Type
Method
Description
`DataSource`
`getDataSource(String dataSourceName)`
Retrieve the DataSource identified by the given name.
`void`
`setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### BeanFactoryDataSourceLookup

public BeanFactoryDataSourceLookup()
Create a new instance of the `BeanFactoryDataSourceLookup` class.

The BeanFactory to access must be set via `setBeanFactory`.

See Also:
  - `setBeanFactory(org.springframework.beans.factory.BeanFactory)`

### BeanFactoryDataSourceLookup

public BeanFactoryDataSourceLookup(org.springframework.beans.factory.BeanFactory beanFactory)
Create a new instance of the `BeanFactoryDataSourceLookup` class.

Use of this constructor is redundant if this object is being created by a Spring IoC container, as the supplied `BeanFactory` will be replaced by the `BeanFactory` that creates it (c.f. the `BeanFactoryAware` contract). So only use this constructor if you are using this class outside the context of a Spring IoC container.

Parameters:
  `beanFactory` - the bean factory to be used to lookup `DataSources`

## Method Details

### setBeanFactory

public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)

Specified by:
  `setBeanFactory` in interface `org.springframework.beans.factory.BeanFactoryAware`

### getDataSource

public DataSource getDataSource(String dataSourceName) throws DataSourceLookupFailureException
Description copied from interface: `DataSourceLookup`
Retrieve the DataSource identified by the given name.

Specified by:
  `getDataSource` in interface `DataSourceLookup`
Parameters:
  `dataSourceName` - the name of the DataSource
Returns:
  the DataSource (never `null`)
Throws:
  `DataSourceLookupFailureException` - if the lookup failed