org.springframework.jdbc.datasource.init

## Class DataSourceInitializer

- java.lang.Object
- - org.springframework.jdbc.datasource.init.DataSourceInitializer

All Implemented Interfaces:
  DisposableBean, InitializingBean

    public class DataSourceInitializer
    extends Object
    implements InitializingBean, DisposableBean

Used to populate a database during initialization.

Since:
  3.0
Author:
  Dave Syer
See Also:
  `DatabasePopulator`

### Constructor Summary

Constructors
Constructor and Description
`DataSourceInitializer()`

### Method Summary

Methods
`void` `afterPropertiesSet()` Use the populator to set up data in the data source.
`void` `destroy()` Use the populator to clean up data in the data source.
`void` `setDatabaseCleaner(DatabasePopulator databaseCleaner)` Set a script execution to be run in the bean destruction callback, cleaning up the database and leaving it in a known state for others.
`void` `setDatabasePopulator(DatabasePopulator databasePopulator)` The `DatabasePopulator` to use to populate the data source.
`void` `setDataSource(DataSource dataSource)` The `DataSource` to populate when this component is initialized.
`void` `setEnabled(boolean enabled)` Flag to explicitly enable or disable the database populator.

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

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

### Constructor Detail

#### DataSourceInitializer

    public DataSourceInitializer()

### Method Detail

#### setDataSource

    public void setDataSource(DataSource dataSource)

The `DataSource` to populate when this component is initialized. Mandatory with no default.

Parameters:
  `dataSource` - the DataSource

#### setDatabasePopulator

    public void setDatabasePopulator(DatabasePopulator databasePopulator)

The `DatabasePopulator` to use to populate the data source. Mandatory with no default.

Parameters:
  `databasePopulator` - the database populator to use.

#### setDatabaseCleaner

    public void setDatabaseCleaner(DatabasePopulator databaseCleaner)

Set a script execution to be run in the bean destruction callback, cleaning up the database and leaving it in a known state for others.

Parameters:
  `databaseCleaner` - the database script executor to run on destroy

#### setEnabled

    public void setEnabled(boolean enabled)

Flag to explicitly enable or disable the database populator.

Parameters:
  `enabled` - true if the database populator will be called on startup

#### afterPropertiesSet

    public void afterPropertiesSet()

Use the populator to set up data in the data source.

Specified by:
  `afterPropertiesSet` in interface `InitializingBean`

#### destroy

    public void destroy()

Use the populator to clean up data in the data source.

Specified by:
  `destroy` in interface `DisposableBean`