1
私は、既存のアプリケーションから別のSpringブートサービスを順番に実行しようとしており、同じデータベース層を使用しています。 2つのアプリは異なるポートを持つ異なるサービスである必要があります。マイクロサービス用SpringプロジェクトのSub SpringBootApplicationを開始する
マイプロジェクト構造はこれです:
:私は運であることをtryiedました(これは、すべてのコントローラのエンドポイントから始まる)アプリケーション2については@SpringBootConfiguration
public class Application {
SpringApplication.run(Application.class, args);
}
:アプリケーションの
- com.name (Project A)
| - Application
| - com.name.controller
- com.name.controller2 (New) (Project B)
| - Application2 (New)
| - com.name.controller2.controller (New RestController)
|
- com.name.storage (Project C)
|
|
- com.name.service
//@SpringBootApplication(
// scanBasePackages={"com.name"})
@SpringBootConfiguration
@ComponentScan(basePackages = {"com.name"})
public class Application2{
SpringApplication.run(Application2.class, args);
}
私は多くのバリエーションを試しましたが、正しくできませんでした。 私がbasePackagesとして "com.name.storage"を使用している場合、アプリケーションは全く設定なしで始まりますが(コントローラの残りのエンドポイントは認識しません)、新しいポートで待ち受けます。
正しい設定を手伝ってもらえますか?
のようなものを試してみてください? – Jonny
1つのアプリケーションを確実に使用できます。私は自分のプロジェクトからコードスニペットを投稿しました – StanislavL
私はこの問題ではっきりしていなかったと思います。 アプリは別々のプロジェクトです。このリンクでは、問題とその解決策について説明しています。 http://www.springboottutorial.com/spring-boot-and-component-scan 何らかの理由で、Project BのAutowireフィールドでProject Cコンポーネントが見つかりません。 Project Aのパッケージをcom.name.controller1に変更したので、Project Cと同じパッケージツリーにはなく、同じ問題が発生しています。 プロジェクトAのプロジェクトCのBeanが見つかりませんでした。 – Jonny