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