パッケージの自動スキャン (AutoScan)


YMP フレームワークが初期化されると、autoscan_packages パラメーターで構成されたパッケージ パス内の @Bean アノテーションで宣言されたすべてのクラス ファイルが自動的にスキャンされ、最初に、ロードされたクラスのすべての実装されたインターフェイスが分析され、Bean コンテナーに登録されます。その後、クラス メンバーの依存関係が実行されます。インジェクション エージェントとメソッド インターセプト エージェントのバインディングが実行されます。現時点では、インスタンス オブジェクト タイプを通じてのみ正しく取得できるインターフェイスは、

例 2:

  • です。
    // 业务接口
    public interface IDemo {
        String sayHi();
    }
    
    // 业务接口实现类,单例模式
    @Bean
    public class DemoBean implements IDemo {
        public String sayHi() {
            return "Hello, YMP!";
        }
    }

    テストコード:
  • // 示例一中的业务接口实现类,非单例模式
    @Bean(singleton = false)
    public class DemoBean implements IDemo {
        public String sayHi() {
            return "Hello, YMP!";
        }
    }