コンテンツ
1.4 jdbc構成ファイルを抽出して、データソースを構成します
1.Spring構成データソース
1.1データソース(接続プール)の役割
- データソース(接続プール)は、表示されるプログラムのパフォーマンスを向上させるためのものです
- 事前にデータソースをインスタンス化し、いくつかの接続リソースを初期化します
- 接続リソースを使用するときにデータソースから取得
- 使用後、接続リソースをデータソースに戻します
一般的なデータソース(接続プール):DBCP 、C3P0、BoneCP、Druidなど。
1.2データソースの開発手順
- データソース座標とデータベース駆動座標をインポートします
- データソースオブジェクトを作成する
- データソースの基本接続データを設定します
- データソースを使用して接続リソースを取得し、接続リソースを返す
1.3Spring構成データソース
- データソースの作成をSpringコンテナに引き渡すことができます
- DataSourceにはパラメーターなしのコンストラクターがあり、Springはデフォルトでパラメーターなしのコンストラクターを介してオブジェクトをインスタンス化します。
- DataSourceを使用するには、setメソッドを介してデータベース接続情報を設定する必要があります。Springはsetメソッドを介して文字列インジェクションを実行できます。
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/>
<property name="user" value="root"/>
<property name="password" value="root"/>
</bean>
コンテナからのデータソースの取得をテストします
ApplicationContext applicationContext = new
ClassPathXmlApplicationContext("applicationContext.xml");
DataSource dataSource = (DataSource) applicationContext.getBean("dataSource");
Connection connection = dataSource.getConnection();
System.out.println(connection);
1.4 jdbc構成ファイルを抽出して、データソースを構成します
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
applicationContext.xmlは、接続情報を取得するためにjdbc.properties構成ファイルをロードします。
まず、コンテキスト名前空間と制約パスを導入する必要があります。
- 名前空間:xmlns:context = "http://www.springframework.org/schema/context"
- 制約パス:http ://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
1.5知識の要点
Springコンテナがプロパティファイルをロードします
<!-- 大致模板 -->
<context:property-placeholder location="xx.properties"/>
<property name=" " value="${key}"/>
2.春のアノテーション開発
2.1春のオリジナルアノテーション
Springは軽量のコードおよび再構成フレームワークです。構成は比較的重く、開発効率に影響を与えます。したがって、アノテーション開発はトレンドです。アノテーションは、構成を簡素化し、開発効率を向上させるためにxml構成ファイルを置き換えます。Springの元のアノテーションは、主に<Bean>の構成を置き換えるために使用されます。
2.2春の新しい注釈
上記のアノテーションを使用しても、xml構成ファイルを完全に置き換えることはできません。アノテーションで置き換える必要のある構成は次のとおりです。
-
非カスタムBeanの構成: <bean>
-
プロパティファイルの構成をロードします: <context:property-placeholder>
-
コンポーネントスキャン構成: <context:component-scan>
-
他のファイルをインポートする: <インポート>
@構成
@ComponentScan
@輸入
@Configuration
@ComponentScan("com.project")
@Import({DataSourceConfiguration.class})
public class SpringConfiguration { }
@PropertySource
@価値
@PropertySource("classpath:jdbc.properties")
public class DataSourceConfiguration {
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;}
@豆
@Bean(name="dataSource")
public DataSource getDataSource() throws PropertyVetoException {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass(driver);
dataSource.setJdbcUrl(url);
dataSource.setUser(username);
dataSource.setPassword(password);
return dataSource; }
コア構成クラスのロードのテストSpringコンテナーの作成
@Test
public void testAnnoConfiguration() throws Exception {
ApplicationContext applicationContext = new
AnnotationConfigApplicationContext(SpringConfiguration.class);
UserService userService = (UserService)
applicationContext.getBean("userService");
userService.save();
DataSource dataSource = (DataSource)
applicationContext.getBean("dataSource");
Connection connection = dataSource.getConnection();
System.out.println(connection);
}