YMP-Online-Handbuch
/ 依賴注入(IoC)
依賴注入(IoC)
通過在類成員屬性上聲明@Inject
和@By
注解來完成依賴注入的設(shè)置,且只有被Bean容器管理的類對象才支持依賴注入,下面舉例說明:
示例:
// 業(yè)務(wù)接口 public interface IDemo { String sayHi(); } // 業(yè)務(wù)接口實(shí)現(xiàn)類1 @Bean public class DemoOne implements IDemo { public String sayHi() { return "Hello, YMP! I'm DemoOne."; } } // 業(yè)務(wù)接口實(shí)現(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接口實(shí)現(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(); } } }