Changes between Version 20 and Version 21 of waue/2011/spring
- Timestamp:
- Aug 26, 2011, 4:50:38 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
waue/2011/spring
v20 v21 140 140 IoC 在容器的角度,可以用這麼一句好萊塢名言來代表:"Don't call me, I'll call you." 以程式的術語來說的話,就是「不要向容器要求您所需要的(物件)資源,容器會自動將這些物件給您!」。IoC 要求的是容器不侵入應用程式本身,應用程式本身提供好介面,容器可以透過這些介面將所需的資源注至至程式中,應用程式不向容器主動要求資源,故而不會依賴於容器的元件,應用程式本身不會意識到正被容器使用,可以隨時從容器中脫離轉移而不用作任何的修改,而這個特性正是一些業務邏輯中間件最需要的。 141 141 142 = = 第一支程式:SpringDemo ==142 = 第一支程式:SpringDemo = 143 143 144 144 * HelloBean.java … … 211 211 ApplicationContext的基本功能與BeanFactory很相似,它也負責讀取Bean定義檔,維護Bean之間的關係等,然而ApplicationContext提供的一個應用程式所需的更完整的框架功能: 212 212 213 * ApplicationContext提供取得資源檔案更方便的方法。214 * ApplicationContext提供文字訊息解析的方法,並支援國際化(Internationalization, I18N)訊息。215 * ApplicationContext可以發佈事件,對事件感興趣的Bean可以接收到這些事件。213 * 提供取得資源檔案更方便的方法。 214 * 提供文字訊息解析的方法,並支援國際化(Internationalization, I18N)訊息。 215 * 可以發佈事件,對事件感興趣的Bean可以接收到這些事件。 216 216 217 217 218 218 Rod Johnson建議使用ApplicationContext來取代BeanFactory,在許多實作ApplicationContext的類別中,最常使用的大概是以下三個: 219 219 220 * FileSystemXmlApplicationContext220 * !FileSystemXmlApplicationContext 221 221 * 可指定XML定義檔的相對路徑或絕對路徑來讀取定義檔。 222 * ClassPathXmlApplicationContext222 * !ClassPathXmlApplicationContext 223 223 * 從Classpath中來讀取XML定義檔。 224 * XmlWebApplicationContext224 * !XmlWebApplicationContext 225 225 * 在Web應用程式中的檔案架構中讀取定義檔。 226 226 227 227 228 * SpringDemo.java228 * 因此 SpringDemo.java 變成如下: 229 229 230 230 {{{ … … 249 249 250 250 251 == bean 間的引用 == 251 == 程式基本架構 == 252 253 簡化以上的寫法, bean , xml , main java 間的關係簡化如下程式碼。 254 255 並注意以下 兩個 bean 間引用的關係 (BBean , dateBean ) 252 256 253 257 * BBean.java … … 334 338 }}} 335 339 340 341 342 343 344 345 346 347 348 349 350 351 352 336 353 === 自動綁定 === 337 354 [http://caterpillar.onlyfun.net/Gossip/SpringGossip/AutoWiring.html autowire (詳細)] 測試後not work,也許與Spring 版本有關