前言:對于spring IOC概念不是很了解的朋友可以閱讀我上一篇博客——輕松理解spring IOC(這兩篇博客也是由于我的個人原因?qū)е卢F(xiàn)在才發(fā)布,慚愧啊)。通過這篇博客的理解之后,相信大家會對spring的IOC概念會有進(jìn)一步的理解。接下來我先預(yù)覽一下本例中java的類圖關(guān)系。
解析:我們有一個Master接口,接口中定義了一個WalkDog()遛狗的方法,Hostess是對這個接口的具體實現(xiàn)。然后我們有一個Dog接口,接口中有一個bark()方法,Labuladuo和Taidi是對其的實現(xiàn)。最后我們的程序入口Client類調(diào)用Hostess對象的WalkDog方法。
需求:Hostess對象遛狗需要一個狗對象,目前我們的類中有兩個符合需求的對象,我們只要在配置文件中進(jìn)行相關(guān)配置便可以指定我們的Hostess對象調(diào)用的是哪一個具體的Dog對象。
1 public static void main(String[] args) { 2 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 3 Master master = (Master)context.getBean("hostess"); 4 5 System.out.println(); 6 System.out.println(); 7 System.out.println(); 8 System.out.println("***********************************"); 9 &