0
は春のJDBCは、PROD用のプロパティファイルで指定することができます:異なるJMS接続ファクトリのインスタンス化
jdbc.driverClassName = oracle.jdbc.OracleDriver
jdbc.url = jdbc:oracle:thin:@...
やテスト
jdbc.driverClassName = org.h2.Driver
jdbc.url = jdbc:h2:mem:test;INIT=...
ためしたがって、必要なjava.sql.DataSource
インスタンスをインスタンス化することが可能です依存ジェネリックコードの設定の概要
@Bean
public DataSource dataSource(
@Value("${jdbc.driverClassName}") String driverClass,
@Value("${jdbc.url}") String url,
@Value("${jdbc.username}") String username,
@Value("${jdbc.password}") String password
) {
DriverManagerDataSource dataSource = new DriverManagerDataSource(url, username, password);
dataSource.setDriverClassName(driverClass);
return dataSource;
}
Is SpringでSpringのようなドライバとURLプロパティの文字列を使用して特定のタイプのjava.jms.ConnectionFactory
を設定することは可能ですか?
実際、私の目標は、テスト用にPRODとActiveMQ用のTibco接続ファクトリを使用することです。
これは、我々は何をすべきかを正確です。しかし、今私はより柔軟な解決策を持ちたいと思っています。 –
どのように柔軟性がありますか?単純なファクトリBeanを作成して、プロパティ値に基づいて別の実装を返すことができます。しかし、それは私には残酷だと思われます。 –
私たちのアプリは、プロパティの設定を持つブラックボックスのようなものです。エンドツーエンドのテストを実装するには、プロパティファイルの変更だけでインフラストラクチャの実装を変更することができます。 –