Springマルチモジュールプロファイルのいくつかの問題

959 ワード

サブモジュールプロファイルのロード
サブモジュールresourceディレクトリの下にconfigフォルダを新規作成し、アプリケーションを作成します.ymlファイルはこのディレクトリの下に置けばいいです.
@value注記を使用して値を取得できない理由の分析:
package com.test;

@Component
class A {
    
    @Value("${name}")
    private String name;
    
    public String getName(){
        return name;
    }
}

1.Class Aはspring beanに追加され、スキャンされることを保証し、クラスファイルに@component注記を追加し、起動モジュールアプリケーションでスキャンパスを指定する必要があります.
@ComponentScan("com.test")
@SpringBootApplication
public class TestApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }

}

2.Aファイル:クラス、メソッド、値はstaticにできません.
3.Aを使用する場合は、@Autowiredまたは@Resourceでロードする必要があります.
@RestController
public class TestController {

    @Autowired
    private A a;

    @GetMapping("/name")
    public String getName() {
        return a.getName();
    }
}