W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
YMP框架初始化時將自動掃描由autoscan_packages參數(shù)配置的包路徑下所有聲明了@Bean注解的類文件,首先分析被加載的類所有已實現(xiàn)接口并注冊到Bean容器中,然后執(zhí)行類成員的依賴注入和方法攔截代理的綁定;
注:相同接口的多個實現(xiàn)類被同時注冊到Bean容器時,通過接口獲取的實現(xiàn)類將是最后被注冊到容器的那個,此時只能通過實例對象類型才能正確獲??;
示例一:
// 業(yè)務(wù)接口 public interface IDemo { String sayHi(); } // 業(yè)務(wù)接口實現(xiàn)類,單例模式 @Bean public class DemoBean implements IDemo { public String sayHi() { return "Hello, YMP!"; } }
示例二:
// 示例一中的業(yè)務(wù)接口實現(xiàn)類,非單例模式 @Bean(singleton = false) public class DemoBean implements IDemo { public String sayHi() { return "Hello, YMP!"; } }
測試代碼:
public static void main(String[] args) throws Exception { YMP.get().init(); try { // 1. 通過接口獲取實例對象 IDemo _demo = YMP.get().getBean(IDemo.class); System.out.println(_demo.sayHi()); // 2. 直接獲取實例對象 _demo = YMP.get().getBean(DemoBean.class); System.out.println(_demo.sayHi()); } finally { YMP.get().destroy(); } }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: