public class EmbeddedDatabaseFactory
extends java.lang.Object
EmbeddedDatabase
インスタンスを作成するためのファクトリ。呼び出し元は、返されたデータベースが完全に初期化され、入力されていることが保証されています。
ファクトリは次のように構成できます。
generateUniqueDatabaseName
を呼び出して、データベースに一意のランダムな名前を設定します。setDatabaseName(java.lang.String)
を呼び出して、データベースに明示的な名前を設定します。setDatabaseType(org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType)
を呼び出してデータベース型を設定します。setDatabaseConfigurer(org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseConfigurer)
を呼び出して、カスタム組み込みデータベース型のサポートを構成します。setDatabasePopulator(org.springframework.jdbc.datasource.init.DatabasePopulator)
を呼び出して、データベースの入力に使用されるアルゴリズムを変更します。setDataSourceFactory(org.springframework.jdbc.datasource.embedded.DataSourceFactory)
を呼び出して、データベースへの接続に使用される DataSource
の型を変更します。 ファクトリを構成した後、getDatabase()
を呼び出して、EmbeddedDatabase
インスタンスへの参照を取得します。
修飾子と型 | フィールドと説明 |
---|---|
static java.lang.String | DEFAULT_DATABASE_NAME 組み込みデータベースのデフォルト名: "testdb"。 |
コンストラクターと説明 |
---|
EmbeddedDatabaseFactory() |
修飾子と型 | メソッドと説明 |
---|---|
EmbeddedDatabase | getDatabase() 埋め込みデータベースインスタンスを返すファクトリメソッド。これも DataSource です。 |
protected javax.sql.DataSource | getDataSource() 組み込みデータベースへの接続を提供する DataSource を取得するフック。 |
protected void | initDatabase() 組み込みデータベースを初期化するためのフック。 |
void | setDatabaseConfigurer(EmbeddedDatabaseConfigurer configurer) 組み込みデータベースインスタンスの構成に使用する戦略を設定します。 |
void | setDatabaseName(java.lang.String databaseName) データベースの名前を設定します。 |
void | setDatabasePopulator(DatabasePopulator populator) 組み込みデータベースの初期化またはデータ投入に使用される戦略を設定します。 |
void | setDatabaseType(EmbeddedDatabaseType type) 使用する組み込みデータベースの型を設定します。 |
void | setDataSourceFactory(DataSourceFactory dataSourceFactory) 組み込みデータベースに接続する DataSource インスタンスを作成するために使用するファクトリを設定します。 |
void | setGenerateUniqueDatabaseName(boolean generateUniqueDatabaseName) generateUniqueDatabaseName フラグを設定して、データベース名として使用される疑似ランダム固有 ID の生成を有効または無効にします。 |
protected void | shutdownDatabase() 組み込みデータベースをシャットダウンするためのフック。 |
public static final java.lang.String DEFAULT_DATABASE_NAME
public void setGenerateUniqueDatabaseName(boolean generateUniqueDatabaseName)
generateUniqueDatabaseName
フラグを設定して、データベース名として使用される疑似ランダム固有 ID の生成を有効または無効にします。 このフラグを true
に設定すると、setDatabaseName(java.lang.String)
を介して設定された明示的な名前が上書きされます。
setDatabaseName(java.lang.String)
public void setDatabaseName(java.lang.String databaseName)
デフォルトは "testdb" です。
generateUniqueDatabaseName
フラグが true
に設定されている場合はオーバーライドされます。
databaseName
- 組み込みデータベースの名前 setGenerateUniqueDatabaseName(boolean)
public void setDataSourceFactory(DataSourceFactory dataSourceFactory)
DataSource
インスタンスを作成するために使用するファクトリを設定します。 デフォルトは SimpleDriverDataSourceFactory
です。
public void setDatabaseType(EmbeddedDatabaseType type)
事前にサポートされている型の 1 つを構成する場合に、これを呼び出します。
デフォルトは HSQL です。
type
- データベースの型 public void setDatabaseConfigurer(EmbeddedDatabaseConfigurer configurer)
まだサポートされていない組み込みデータベース型を使用する場合は、これを呼び出します。
public void setDatabasePopulator(DatabasePopulator populator)
デフォルトは null
です。
public EmbeddedDatabase getDatabase()
DataSource
です。protected void initDatabase()
generateUniqueDatabaseName
フラグが true
に設定されている場合、データベース名の現在の値は自動生成された名前で上書きされます。
サブクラスはこのメソッドを呼び出して強制的に初期化することができます。ただし、このメソッドは一度だけ呼び出す必要があります。
このメソッドを呼び出した後、getDataSource()
はデータベースへの接続を提供する DataSource
を返します。
protected void shutdownDatabase()
呼び出し後、getDataSource()
は null
を返します。
組み込みデータベースが初期化されていない場合は何もしません。
@Nullable protected final javax.sql.DataSource getDataSource()
DataSource
を取得するフック。DataSource
が初期化されていない場合、またはデータベースがシャットダウンされている場合は、null
を返します。サブクラスはこのメソッドを呼び出して、DataSource
インスタンスに直接アクセスできます。