<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    即興的靈感

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

    博客好友

    最新評論

    Spring筆記之三(Usage of property config)

    本文內容演示屬性文件用法的簡單例子。
    首先定義模型接口Model,視圖接口View,以及它們實現類ImpModel,ImpView.
    Model中定義方法getString();View中定義Model實例為其屬性,在實現類ImpView中實現方法
    disPlay(),其方法體為Model實例的getString()方法,并將其打印出來。

    定義屬性文件
    msf.properties
    disPalyer.class
    = ImpView
    provider.class
    = ImpModel


    編寫工廠類
    TestFactory.java
    import ?java.util.Properties;
    public ? class ?TestFactory{
    ????
    private ? static ?TestFactory?instance? = ? null ;
    ????
    private ?Properties?props? = ? null ;
    ????
    private ?View?disPalyer? = ? null ;
    ????
    private ?Model?provider? = ? null ;

    ????
    static ?{
    ????????instance?
    = ? new ?TestFactory();
    ????}

    ????
    public ? static ?TestFactory?getInstance()?{
    ????????
    return ?instance;
    ????}

    ????
    public ?View?getView()?{
    ????????
    return ?disPalyer;
    ????}

    ????
    public ?Model?getModel()?{
    ????????
    return ?provider;
    ????}

    ????
    private ?TestFactory()?{
    ????????props?
    = ? new ?Properties();

    ????????
    try ?{
    ????????????
    // 加載屬性文件
    ????????????props.load(?TestFactory. class .getResource( " msf.properties " ).openStream());?

    ????????????
    // 獲取屬性值
    ????????????String?rendererClass? = ?props.getProperty( " renderer.class " );
    ????????????String?providerClass?
    = ?props.getProperty( " provider.class " );

    ????????????
    // 產生類實例對象
    ????????????renderer? = ?(View)?Class.forName(rendererClass).newInstance();
    ????????????provider?
    = ?(Model)?Class.forName(providerClass).newInstance();
    ????????}?
    catch ?(Exception?ex)?{
    ????????????ex.printStackTrace();
    ????????}
    ????}
    }


    最后編寫測試方法
    1??public?static?void?main(String[]?args)?{
    2?????????????View?mr?=?TestFactory.getInstance().getView();
    3?????????????Model?mp?=?TestFactory.getInstance().getModel();
    4?????????????mr.setModel(mp);
    5?????????????mr.disPlay();
    6?????????}

    綜上,對屬性文件的加載主要語句
    props.load( TestFactory.class.getResource("msf.properties").openStream());
    并分別通過newInstance()產生實例對象,本例中使用了設計模式中的工廠模式以及單例實例模式,
    因此具有對設計模式進一步了解的意義。


    注:另一用法
    ?1?public?static?void?main(String[]?args)?throws?Exception?{
    ?2?
    ?3?????????//?get?the?bean?factory
    ?4?????????BeanFactory?factory?=?getBeanFactory();
    ?5?
    ?6?????????View?mr?=?(View)?factory.getBean("view");
    ?7?????????mr.render();
    ?8?????}
    ?9?
    10?????private?static?BeanFactory?getBeanFactory()?throws?Exception?{
    11?????????//?get?the?bean?factory
    12?????????DefaultListableBeanFactory?factory?=?new?DefaultListableBeanFactory();
    13?
    14?????????//?create?a?definition?reader
    15?????????PropertiesBeanDefinitionReader?rdr?=?new?PropertiesBeanDefinitionReader(
    16?????????????????factory);
    17?
    18?????????//?load?the?configuration?options
    19?????????Properties?props?=?new?Properties();
    20?????????props.load(TestFactory.class.getResource("msf.properties").openStream());
    21?
    22?????????rdr.registerBeanDefinitions(props);
    23?
    24?????????return?factory;
    25?????}


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

    posted on 2007-09-24 13:51 poetguo 閱讀(1546) 評論(3)  編輯  收藏 所屬分類: Spring

    評論

    # re: Spring筆記之三(Usage of property config) 2007-09-24 15:44 千里冰封

    不錯,可惜一直和SPRING無緣:(  回復  更多評論   

    # re: Spring筆記之三(Usage of property config) 2007-09-24 22:45 劉甘泉

    第一個和spring沒關系吧?只是用了reflection而已,第二個才用的是spring 的api?  回復  更多評論   

    # re: Spring筆記之三(Usage of property config) 2007-09-24 23:43 improviser

    是的,澀及到的用法做個比較  回復  更多評論   

    主站蜘蛛池模板: 最近最新高清免费中文字幕 | 无码区日韩特区永久免费系列| 亚洲精品美女久久久久99小说| 久久亚洲精品11p| 日韩一级免费视频| 亚洲AV综合永久无码精品天堂| 成人毛片18岁女人毛片免费看| 亚洲欧美日韩久久精品| 国产精品久久久久久久久久免费| 99热亚洲色精品国产88| 啦啦啦在线免费视频| 国产成人va亚洲电影| 自拍偷自拍亚洲精品情侣| a级毛片无码免费真人久久| 亚洲av午夜成人片精品网站| 久久99国产乱子伦精品免费| 亚洲av永久无码精品三区在线4| 在线观看免费毛片| 直接进入免费看黄的网站| 久久精品国产亚洲精品| a级片免费在线观看| 亚洲欧洲综合在线| 好吊妞在线成人免费| 黄页网站在线视频免费| 亚洲精品制服丝袜四区| h视频在线免费看| 国产精品亚洲一区二区三区久久| 久久精品国产亚洲Aⅴ香蕉| 88av免费观看入口在线| 亚洲日韩国产一区二区三区在线| 亚洲毛片不卡av在线播放一区| 无码国产精品一区二区免费16| 亚洲国产系列一区二区三区| 免费在线观看中文字幕| 无码国产精品一区二区免费式芒果| 亚洲AV综合色区无码二区偷拍 | 亚洲熟妇无码另类久久久| 8888四色奇米在线观看免费看| 亚洲AV永久无码精品一福利| 亚洲日韩一页精品发布| 精品熟女少妇AV免费观看|