@EnableConfigurationPropertiesこのクラスのクラスオブジェクトを宣言し、初期化するためにDataSourcePropertiesを使用する(DataSourceProperties.class)、IOCコンテナのクラスではないコメントによって直接使用することができます。
@コンポーネント2.:あなたが直接電話をかけたい場合は、一般的に上流階級で書かれ、現在のクラスの注釈によっては、春IOCコンテナ、他のクラスに初期化され @Autowired取るための容器を。
Confifiguration @ 3.:一般アッパークラスに書き込まれ、コンフィギュレーション・クラスを示すクラスは、一般に、注釈付き内部クラスは、一つ以上含む @Bean注釈付きメソッドを。<豆> </豆>ばねとしてクラスに対応するXML構成ファイル。
豆@ 4.注釈付きメソッドは、これらの方法は、バネをスキャンし、そしてSpringコンテナ、メソッド名のBean IDを初期化します。@Bean主に使用されるノート @Confifiguration注釈付きクラスには、またして使用することができ @Component注釈付きクラス。
5. ConfifigurationPropertiesは@:注釈現在のクラスは、クラスオブジェクトとIOCに注釈を初期化しません読ん属性クラスを宣言され、接頭辞=「JDBC」は 、設定ファイル(プロパティまたはYML)、プレフィックス値のJDBCを読み込みます。
************************************************** ***************************
二つの一般的な注入法:
最初の注入方法は:私たちはJavaオブジェクトを読んで、データベース接続パラメータファイルを設定する必要がある場合は、使用することができます @Componentと @ConfifigurationProperties達成ノートを。
1)新application.properties
jdbc.driverClassName =はcom.mysql.jdbc.Driver
jdbc.url = JDBCます。mysql:// 127.0.0.1:3306/springboot
jdbc.username =ルート
jdbc.password = 123456
2)新しいクラスを作成し、属性をバインドするために注入されました:
/ ** * @ConfigurationProperties現在のアノテーションクラス属性宣言されたクラス* @Component IOC JdbcProperties初期に現在のクラスの注釈を読み込む* /
@Component
@ConfigurationProperties(接頭辞=「JDBC」)
パブリック クラス JdbcProperties {
プライベート文字列のURL;
プライベート文字列driverClassName;
// getおよびsetメソッドがここでは省略されており、いくつかのプロパティ
3)JdbcProperties IOCに初期化されている、我々はスプリングによって注入されたBeanを使用することができます
二回目の注射の方法は:まだここにデータベースを構成するには、例えば、使用 @ConfifigurationProperties + @EnableConfifigurationProperties完成を。
1)データソースMavenの座標に
< 依存> < groupIdを> com.alibaba </ groupIdを> < たartifactId >ドルイド</ たartifactId > < バージョン> 1.1.6 </ バージョン> </ 依存関係>
2)注射のためのクラス属性を作成します。
@ConfigurationProperties(接頭辞= "JDBC")
パブリッククラスDataSourceProperties {
プライベート文字列のURL。
プライベート文字列driverClassName。
プライベート文字列のユーザ名。
プライベート文字列のパスワード。
少し// ... // getterとsetter
}
@Configuration //コンフィグレーションクラスがクラスであることを示し
@EnableConfigurationProperties(DataSourceProperties。クラス)//使用する直接の文設定ファイルを読むためにDataSourcePropertiesクラスを
パブリック クラスDataSourceConfig { @豆 パブリックデータソースデータソース(DataSourcePropertiesプロパティ){ DruidDataSource druidDataSource = 新しいDruidDataSource(); druidDataSource.setUsername(properties.getUsername())。 druidDataSource.setDriverClassName(properties.getDriverClassName())。 druidDataSource.setUrl(properties.getUrl())。 druidDataSource.setPassword(properties.getPassword())。 返すdruidDataSourceを。 } }
4)試験結果:
注意:インポート持つjavax.sql。DataSourceの。