@ConfigurationProperties利用の春ブーツ

  プロジェクト開発、我々はこのように、我々はここで、より便利なコードを使用し、時にはプロファイル情報を求めており、自動的にパッケージのエンティティクラスを読み込みます。我々は@ConfigurationProperties、自動包装に使用するエンティティクラスの設定情報を使用することができます。請求例えばナコスのためのコンフィギュレーションファイルまたはコンフィギュレーション・センタの構成情報、。

以下の情報のプロファイル(中央):

liaowenhui.datasource: 
  validationQuery:SELECT 1 
  jdbcUrlとします。jdbc:mysqlの:// 192.168.xx.xx:?3306 / XXX useUnicode =真&characterEncoding = UTF-8 
  jdbcUserName:liaowenhui 
  jdbcUserPassword:liaowenhui

EntityクラスはDataSourceProperties.javaへの負荷プロファイル情報を定義します

情報検索プレフィックスliaowenhui.datasource読み取り、自動的にカプセル化されたエンティティ・クラスから//設定情報
@ConfigurationProperties(接頭辞=「liaowenhui.datasource」) パブリック クラスDataSourceProperties {
プライベート;文字validationQuery プライベート列jdbcUrlと; プライベート文字列jdbcUserName。 プライベート文字列jdbcUserPassword; 公共ストリングgetValidationQuery(){ 戻りvalidationQuery; } 公共 ボイドsetValidationQuery(文字列validationQuery){ この .validationQuery = validationQuery; } パブリック文字列getJdbcUrlを(){ 返すjdbcUrlとします。 } 公共 ボイドsetJdbcUrl(文字列jdbcUrlと){ この .jdbcUrl = jdbcUrlと。 } パブリック文字列getJdbcUserName(){ 戻りjdbcUserNameと、 } 公共 ボイドsetJdbcUserName(文字列jdbcUserName){ この .jdbcUserName = jdbcUserName。 } パブリック文字列getJdbcUserPassword(){ 戻りjdbcUserPasswordと、 } 公共 ボイドsetJdbcUserPassword(文字列jdbcUserPassword){ この .jdbcUserPassword =jdbcUserPassword; } }

@EnableConfigurationProperties(xxx.class)を使用して明示的に設定情報をロードするために使用されたエンティティクラスを指定する必要があります

@Configuration 
@EnableConfigurationProperties({DataSourceProperties.class})
パブリック クラスDataSourceConfig { プライベート 静的 最終ロガーロガー= LoggerFactory.getLogger(DataSourceConfig。クラス)。 @Bean(destroyMethodを = "クローズ" @RefreshScope パブリックデータソースdataSourcePgProduct(DataSourcePropertiesのdataSourcePropertiesはスローのSQLException { logger.debugを( "数据库连接信息:{}" 、dataSourceProperties.getJdbcUrl())。 DruidDataSourceのdataSource = 新しいDruidDataSource(); dataSource.setUrl(dataSourceProperties.getJdbcUrl() )。 dataSource.setUsername(dataSourceProperties.getJdbcUserName() )。 dataSource.setPassword(dataSourceProperties.getJdbcUserPassword() )。 dataSource.setValidationQuery(dataSourceProperties.getValidationQuery() )。      ...... dataSource.init()。 返すデータソースを。 }

説明:使用@ConfigurationPropertiesクラスに相当@EnableConfigurationPropertiesは、注射を行ったが、必ずしもそうではない@EnableConfigurationProperties使用することを指摘し、直接使用することができ@Autowired DataSourcePropertiesのdataSourcePropertiesを追加するには、エンティティクラスに加え、その後、@EnableConfigurationProperties、注射されていない場合@ IOCへConfigurationPropertiesプラス@Component構成情報は容器に注入しました。

参照してください可能性があります@EnableConfigurationPropertiesについてコメント

おすすめ

転載: www.cnblogs.com/liaowenhui/p/11203296.html