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
    Modifier and Type | Method and Description
    --- | ---
    `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`