問題タブ [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.
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 スクリプトだけが実行されることです。
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
それを機能させる唯一の方法は、文字列のように注釈が付けられたメソッド引数を使用することです。
これは予想される動作ですか、それともバグですか?