私はプロジェクトの構造は、このプロジェクトでは この依存モジュールで@Valueを解決できないのはなぜですか?
以下example(artifactId = example)
+- demo(artifactId = demo)
| +- src
| | +-main
| | +-java
| | +-com
| | +-example
| | +-DemoService
| | +-resources
| | +-application.properties
| +- pom.xml
+- demo2(artifactId = demo2)
| +- src
| | +-main
| | +-java
| | +-resources
| | +-application.properties
| +- pom.xml
+-pom.xml
のように見える春のブートプロジェクト「をDEMO2」を持っているが、「デモ」の依存性です。 "example"モジュールはdemoとdemo2の両方の親です。
問題は、私はデモのapplication.propertiesに財産(site.password =パスワード)を設定したときに、私はこの
@Service
public class DemoService {
@Value("${site.password}")
private String password;
}
のようなデモモジュールでそれを解決するしかし、私は設定している場合ではないということですdemo2のapplication.propertiesには、デモモジュールのDemoServiceで解決できます。
ありがとうございます!
明確にする: Demo2がメインクラスです。あなたのjarファイル内にパッケージ
ありがとうございます。私は設定がjarにパッケージ化されるべきではないことに同意します。私のプロジェクトでは、mysqlとredisなどのモジュール( "demo2"、 "demo3" ...)でデータを取得するモジュール(デモ)があります。私はmysql/redisプロパティを他のすべてのモジュールにコピーしたくないので、 "デモ"のプロパティを設定しました。プロジェクトを編成するより良い方法はありますか?たとえば、プロジェクトをいくつかの小さなプロジェクトに分けます。各モジュールはプロジェクトです。 "demo2"などがRPC経由で "デモ"からデータを取得 – Max
@Maxモジュール管理について混乱しているようですあなたのケースには2つの一般的な選択肢があります1.各モジュールは単独で動作し、REST API、RPC 、またはMQであり、 'main'メソッドはたくさんあります。それぞれのモジュールは独自の設定を持っています。これはマイクロサービスアーキテクチャとも呼ばれます2.一つの' main'モジュールがあり、それは依存モジュールのメソッドを呼びます(これはRPCではありません)。あなたのケースは2番目のケースに合っていなければなりません。N個の実行インスタンスはN個の設定を意味するので、全てのconfを1つのモジュールに入れてください。 – bekce