即興的靈感

          思維是一種藝術; 藝術需要靈感。

          博客好友

          最新評論

          Spring筆記之一(初探Spring)

          ??? 初探Spring程序,程序如下:

          ?1? BeanNaming.java
          ?2?????package
          ?spring.beantest;
          ?3?

          ?4?????import ?org.springframework.beans.factory.BeanFactory;
          ?5?????import
          ?org.springframework.beans.factory.xml.XmlBeanFactory;
          ?6?????import
          ?org.springframework.core.io.FileSystemResource;
          ?7?

          ?8?????public?class ?BeanNaming?{
          ?9?????public?static?void
          ?main(String?[]args)
          10?
          ????{
          11?????????BeanFactory?factory?=?new?XmlBeanFactory(new?FileSystemResource("src/applicationContext.xml"
          ));
          12?
          ????
          13?????????String?s1?=?(String)factory.getBean("name1"
          );
          14?????????String?s2?=?(String)factory.getBean("name2"
          );
          15?????????String?s3?=?(String)factory.getBean("name3"
          );
          16?????????String?s4?=?(String)factory.getBean("name4"
          );
          17?
          ????????
          18?????????System.out.println((s1?==
          ?s2));
          19?????????System.out.println((s2?==
          ?s3));
          20?????????System.out.println((s3?==
          ?s4));
          21?
          ????????
          22?????????String[]?x?=?factory.getAliases("name3"
          );
          23?????????for
          (String?str:x)
          24?
          ????????{
          25?
          ????????????System.out.println(str);
          26?
          ????????}
          27?
          ????????
          28?
          ??????}
          29?
          ????}
          30?
          ?
          31?
          ??????applicationContext.xml
          32??????<?xml?version="1.0"?encoding="UTF-8"?>

          33??????<!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">
          34??????<beans>
          35??????<!--?aliasing?examples?-->
          36??????<bean?id="name1"?name="name2,name3,name4"?class="java.lang.String"/>
          37??????</beans>

          ??? 輸出結果為:
          ??? true
          ??? true
          ??? true
          ??? name1
          ??? name4
          ??? name2

          ???
          ???
          可以看出,使用中id屬性和name屬性幾乎沒有任何區別。調用beanfactory.getAliases(string)的方法時,傳入的參數可以是任意一個bean名字,輸出的別名則是除去作為參數本身之外的所有 bean名。
          ??

          ?? 在寫 applicationContxt.xml文件時,如果沒有定義<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">,則會拋出Cannot find the declaration of element 'beans'異常。

          ??
          ?? ???
          以上使用BeanFactory對配置文件進行加載,BeanFactory,是根據配置文件負責創建Bean的實例,并負責Bean的生命周期的管理- --,包括Bean的生成與銷毀、Bean的創建方式的識別(是否為singleton)、Bean的各個屬性的設定、依賴關系的建立等。
          ??? ApplicationContext接口,提供了國際化、事件處理及beans在context中的自查能力。它也可創建具有層次結構context環境,將bean的作用域和可訪問區域限制在應用程序的一個特定部分中。下面演示如何使用ApplicationContext接口。


          ???
          ?1?<!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-????beans.dtd">
          ?2?????<beans>
          ?3?????<bean?id="bean_1"?class="BeanTest"/>
          ?4?????<bean?id="bean_2"?class="BeanTest"/>
          ?5?????</beans>
          ?6?
          ?7?
          ?8?????public?class ?BeanTest?{
          ?9?????public?void
          ?test()?{
          10?????????System.out.println("test.."
          );
          11?
          ????}
          12?
          ???}
          13?

          14?
          15????import ?org.springframework.context.ApplicationContext;
          16????import
          ?org.springframework.context.support.FileSystemXmlApplicationContext;
          17?

          18????public?class ?BeanNameExample?{
          19?

          20?????public?static?void ?main(String[]?args)?{
          21?????????ApplicationContext?ctx?=?new
          ?FileSystemXmlApplicationContext(
          22?????????"build/applicationContext.xml"
          );
          23?
          ????????
          24?????????BeanTest?beanOne?=?(BeanTest)ctx.getBean("bean_1"
          );
          25?????????BeanTest?beanTwo?=?(BeanTest)ctx.getBean("bean_2"
          );
          26?
          ????????
          27?
          ????????beanOne.test();
          28?
          ????????beanTwo.test();
          29?
          ??????}
          30?
          ???}
          31?
          ?? 綜上,ApplicationContext與BeanFactory的不同點
          ?? BeanFactory提供了針對JavaBean的管理功能,而ApplicationContext提供了一個更為框架化的實現(從上面的示例中可以看出,BeanFactory的使用方式更加類似一個API,而非Framework style)。ApplicationContext覆蓋了BeanFactory的所有功能,并提供了更多的特性。此外, ApplicationContext為與現有應用框架相整合,提供了更為開放式的實現(如對于Web應用,我們可以在web.xml中對 ApplicationContext進行配置)。


          ?
          鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
          ???? 隱姓埋名/低調華麗/簡單生活/完美人生

          posted on 2007-09-24 01:31 poetguo 閱讀(1960) 評論(5)  編輯  收藏 所屬分類: Spring

          評論

          # re: Spring筆記之一 2007-09-24 09:32 千里冰封

          我以前也想學spring,可就是一直學不進去:(  回復  更多評論   

          # re: Spring筆記之一(初探Spring) 2007-09-24 10:58 improviser

          開始研究...從現在開始...  回復  更多評論   

          # re: Spring筆記之一(初探Spring) 2007-09-24 23:28 劉甘泉

          @千里冰封
          。。。全都回復的是這個。。spring會用就可以了,里面的具體代碼,有時間就看吧  回復  更多評論   

          # re: Spring筆記之一(初探Spring) 2007-10-22 17:19 悟空

          師傅 我就從你這里開始 spring 拉  回復  更多評論   

          # re: Spring筆記之一(初探Spring) 2007-10-22 23:28 improviser

          哈哈 一起學習 共同進步  回復  更多評論   

          主站蜘蛛池模板: 霍城县| 永登县| 固镇县| 五家渠市| 罗山县| 贵溪市| 淮安市| 桐梓县| 高阳县| 常德市| 新民市| 哈尔滨市| 且末县| 陇南市| 赤城县| 玉山县| 洞头县| 阜新市| 鄂托克前旗| 新田县| 五指山市| 全州县| 玉林市| 集安市| 白水县| 吉安县| 奉化市| 剑川县| 沙雅县| 德保县| 乐都县| 信阳市| 新闻| 梅河口市| 大理市| 鄯善县| 连平县| 龙胜| 汉川市| 南澳县| 嘉定区|