Spring裝配bean--02通過Java代碼裝配bean
阿新 • • 發佈:2017-05-12
三方 應用 context his 單獨 stc ring -- oid
Spring容器負責創建應用程序中的bean並通過DI來協調這些對象之間的關系
Spring提供了三種主要的裝配機制:
- 在XML中進行顯式配置
- 在Java中進行顯式配置
- 隱式的bean發現機制和自動裝配
2在Java中顯式配置
盡管在很多場景下通過組件掃描和自動裝配實現Spring的自動化裝配是更為推薦的方式,但是當你要將第三方庫中的組件裝配到你的應用中,這時就必須顯式的配置bean
顯式配置包括:Java和XML,我更推薦使用Java類配置,就像上文中的JavaConfig那樣
JavaConfig與其它的Java代碼又有所區別,JavaConfig僅僅是配置代碼,這意味著它不包含任何業務邏輯,通常將JavaConfig放到單獨的包中,使其與程序邏輯分離開來
聲明簡單的bean
在JavaConfig 中聲明bean,我們需要編寫一個方法,這個方法會返回所需類型的一個實例(對象),然後給這個方法添加@Bean註解
1 CD類 @Component("cd1")//括號內給該bean設置ID,若不設置則默認為類名首字母小寫即cD public class CD { private String title = "最炫民族風"; private String artist = "鳳凰傳奇"; public void play() { System.out.println("當前播放: " + title + " 演唱者: " + artist); } } 2 CDplayer 播放器 @Component("cdPlayer") public class CDplayer { private CD cd; @Autowired public CDplayer(CD cd) { this.cd = cd; } public void play() { cd.play(); } } 3 JavaConfig配置類 @Component public class JavaConfig { @Bean//在不聲明bean ID的情況下 默認 方法名 為 bean的ID getCD public CD getCD() { return new CD(); } @Bean//bean ID為getCDplayer public CDplayer getCDplayer(CD cd) //以參數的形式註入所需要的 CD類實例 { return new CDplayer(cd); } } 4 測試類 public class TestCase { @Test public void test01() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class); CDplayer cp = (CDplayer) context.getBean("getCDplayer"); cp.play(); } }
5 console控制臺結果
當前播放: 最炫民族風 演唱者: 鳳凰傳奇
Spring裝配bean--02通過Java代碼裝配bean