依賴注入(IoC)

2018-12-24 21:50 更新

通過在類成員屬性上聲明@Inject@By注解來完成依賴注入的設(shè)置,且只有被Bean容器管理的類對象才支持依賴注入,下面舉例說明:

  • 示例:

    // 業(yè)務(wù)接口
    public interface IDemo {
        String sayHi();
    }
    
    // 業(yè)務(wù)接口實現(xiàn)類1
    @Bean
    public class DemoOne implements IDemo {
        public String sayHi() {
            return "Hello, YMP! I'm DemoOne.";
        }
    }
    
    // 業(yè)務(wù)接口實現(xiàn)類2
    @Bean
    public class DemoTwo implements IDemo {
        public String sayHi() {
            return "Hello, YMP! I'm DemoTwo.";
        }
    }
    
  • 測試代碼:

    @Bean
    public class TestDemo {
    
        @Inject
        private IDemo __demo1;
    
        @Inject
        @By(DemoOne.class)
        private IDemo __demo2;
    
        public void sayHi() {
            // _demo1注入的將是最后被注冊到容器的IDemo接口實現(xiàn)類
            System.out.println(__demo1.sayHi());
            // _demo2注入的是由@By注解指定的DemoOne類
            System.out.println(__demo2.sayHi());
        }
    
        public static void main(String[] args) throws Exception {
            YMP.get().init();
            try {
                TestDemo _demo = YMP.get().getBean(TestDemo.class);
                _demo.sayHi();
            } finally {
                YMP.get().destroy();
            }
        }
    }
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號