問題タブ [spring-boot-configuration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
851 参照

database-migration - Flyway afterMigrate.sql が 2 回実行されている

そのため、組み込みの H2 との統合テストを実行するために、アプリケーションに Flyway を追加しました。にデータ スクリプトも追加しましたdb/migration/afterMigrate.sql。で 2 番目のテスト クラスを作成するまでは、Spring Boot の自動構成ですべてが正常に機能していました@SpringBootTest。Flyway が再度実行を試みるため、このクラスは実行に失敗しますafterMigrate.sql。ライブラリをプロジェクトに追加してflyway-spring-test使用しようとしましたが、うまくいきませんでした。私が奇妙だと思うのは、db 移行が 2 番目のクラスに対して再度実行されず、afterMigrate.sql スクリプトだけが実行されることです。

0 投票する
1 に答える
3520 参照

spring-boot - @Configuration クラスでの構成プロパティの使用

構成プロパティ クラスはクラス内で使用できるはず@Configurationです。

環境

  • スプリング ブート 2.0.2
  • Java バージョン "10.0.1" 2018-04-17 Java(TM) SE Runtime Environment 18.3 (ビルド 10.0.1+10)、Java HotSpot(TM) 64 ビット Server VM 18.3 (ビルド 10.0.1+10、混合モード) )
  • OS X 10.13.4

マイコード

application-local.properties:

構成プロパティ

構成クラス

観察された行動

S3ConfigurationPropertiesを構成クラスにフィールドとして、またはメソッドへの引数として注入するとamazonS3、インスタンスはnon-nullになりますが、その中のbucketNameプロパティは になりますnull

経由@Valueでクラスに文字列を注入することもnull.

@Valueそれを機能させる唯一の方法は、文字列のように注釈が付けられたメソッド引数を使用することです。

これは予想される動作ですか、それともバグですか?