精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

動態創建和修改Spring的bean配置文件

開發 后端
今天本來打算寫Spring溫故知新系列的第二篇,不過突然想起一直都忘了學怎么用java來操作XML,這么重要的事情居然拖了這么久才想起來實在是太不應該了,于是今天就先練習一下用dom4j來操作XML。

今天本來打算寫Spring溫故知新系列的第二篇,不過突然想起一直都忘了學怎么用java來操作XML,這么重要的事情居然拖了這么久才想起來實在是太不應該了,于是今天就先練習一下用dom4j來操作XML。

其實dom4j這個庫實在是太方便了,使用起來跟C#操作XML幾乎沒太大差別,也沒什么難度,所以就先貼兩段代碼吧。

其中有幾個要點:

1、如果只是創建一個XML文件,那么只需要導入dom4j-1.6.1.jar就可以了,路徑如下:

spring-framework-2.5.6\lib\dom4j\dom4j-1.6.1.jar

如果是需要讀取或者修改,那么就需要導入這個庫內的另外一個文件:

spring-framework-2.5.6\lib\dom4j\jaxen-1.1-beta-7.jar

否則就會報錯,報錯內容如下:

java.lang.NoClassDefFoundError: org/jaxen/JaxenException

...

...

...

2、dom4j是支持鏈式操作的,這跟jQuery非常像。這樣一來創建一個XML文件就非常方便而且代碼結構看起來也更加清晰明了。

3、要學會XPath.... 要不然你會很痛苦,不過XPath其實很簡單,應該花不了多少時間,難不住各位的,哈哈~

Action部分:

Java代碼

  1. package com.iteye.bolide74.action;     
  2.     
  3. import java.io.File;     
  4. import java.io.FileWriter;     
  5. import java.io.IOException;     
  6. import java.util.List;     
  7.     
  8. import org.dom4j.Document;     
  9. import org.dom4j.DocumentException;     
  10. import org.dom4j.DocumentHelper;     
  11. import org.dom4j.Element;     
  12. import org.dom4j.Node;     
  13. import org.dom4j.io.SAXReader;     
  14. import org.dom4j.io.XMLWriter;     
  15.     
  16. public class MyDom4j {     
  17.     /**    
  18.      * 動態創建一個bean配置文件,包含HelloWorld這個bean,并添加初始值    
  19.      * */    
  20.     public void createXML(String xmlPath, String msg) throws IOException {     
  21.         Document XmlDoc = DocumentHelper.createDocument();     
  22.         XmlDoc.addDocType("beans""-//SPRING//DTD BEAN//EN",     
  23.                 "http://www.springframework.org/dtd/spring-beans.dtd");     
  24.         //首先創建beans根節點     
  25.         Element beansEle = XmlDoc.addElement("beans");     
  26.              
  27.         //注意:dom4j是支持類似于jQuery一樣的鏈式操作的     
  28.         Element beanHelloWorld = beansEle.addElement("bean")     
  29.                 .addAttribute("id""HelloWorld")     
  30.                 .addAttribute("class""com.iteye.bolide74.action.HelloWorld");     
  31.         Element propertyHelloWorld = beanHelloWorld.addElement("property")     
  32.                 .addAttribute("name""msg");     
  33.         Element valueHelloWorld = propertyHelloWorld.addElement("value")     
  34.                 .addText(msg);     
  35.         XMLWriter outXml = new XMLWriter(new FileWriter(new File(xmlPath)));     
  36.         outXml.write(XmlDoc);     
  37.         outXml.close();     
  38.     }     
  39.     
  40.     /**    
  41.      * 首先遍歷一個bean配置文件里的所有bean,獲取id和class的值, 然后修改HelloWorld這個bean的msg的值    
  42.      * @throws IOException     
  43.      * */    
  44.     public void editXML(String xmlPath, String msg) throws DocumentException, IOException {     
  45.         Document XmlDoc = new SAXReader().read(new File(xmlPath));     
  46.         List xmlList = XmlDoc.selectNodes("/beans/bean");     
  47.         System.out.println("\r\n遍歷所有的bean獲得id和class:");     
  48.         for (Element element : xmlList) {     
  49.             System.out.println("id:" + element.attributeValue("id")     
  50.                     + " / class:" + element.attributeValue("class"));     
  51.         }     
  52.         System.out.println("\r\n動態修改HelloWorld這個bean的msg值:");     
  53.     
  54. //用XPath來獲取單一節點     
  55.         Node valueHelloWorld = XmlDoc     
  56.                 .selectSingleNode("/beans/bean[@id='HelloWorld']/property[@name='msg']/value");     
  57.         System.out.println("原始值為:" + valueHelloWorld.getText());     
  58.         valueHelloWorld.setText(msg);     
  59.         System.out.println("修改后的值為:" + valueHelloWorld.getText());     
  60. //修改完了以后記得保存,要不然你會納悶為什么XML文件沒變的,哈哈     
  61.         XMLWriter outXml = new XMLWriter(new FileWriter(new File(xmlPath)));     
  62.         outXml.write(XmlDoc);     
  63.         outXml.close();     
  64.     }     
  65. }    

 

Java代碼

  1. package com.iteye.bolide74.action;     
  2.     
  3. public class HelloWorld {     
  4.     public String msg;     
  5.     
  6.     public String getMsg() {     
  7.         return msg;     
  8.     }     
  9.     
  10.     public void setMsg(String msg) {     
  11.         this.msg = msg;     
  12.     }     
  13. }    

 

Tester實現類部分:

Java代碼

  1. package com.iteye.bolide74.tester;     
  2.     
  3. import java.io.IOException;     
  4.     
  5. import org.dom4j.DocumentException;     
  6. import org.springframework.context.ApplicationContext;     
  7. import org.springframework.context.support.FileSystemXmlApplicationContext;     
  8.     
  9. import com.iteye.bolide74.action.HelloWorld;     
  10. import com.iteye.bolide74.action.MyDom4j;     
  11.     
  12. public class HelloWorldTester {     
  13.     public static void main(String[] args) {     
  14.         String xmlPath = "/WebContent/WEB-INF/conf/config_dom4j.xml";     
  15.         MyDom4j myBeans = new MyDom4j();     
  16.         try {     
  17.             myBeans.createXML(System.getProperty("user.dir") + xmlPath,     
  18.                     "Hello,world!this is created by dom4j!");     
  19.         } catch (IOException e) {     
  20.             e.printStackTrace();     
  21.         }     
  22.         ApplicationContext ac = new FileSystemXmlApplicationContext(xmlPath);     
  23.         HelloWorld helloWorld = (HelloWorld) ac.getBean("HelloWorld");     
  24.         System.out.println(helloWorld.getMsg());     
  25.         try {     
  26.             myBeans.editXML(System.getProperty("user.dir") + xmlPath,     
  27.                     "Hello,world!this is edited by dom4j!");     
  28.         } catch (DocumentException e) {     
  29.             e.printStackTrace();     
  30.         } catch (IOException e) {     
  31.             e.printStackTrace();     
  32.         }     
  33.         // 重新獲取bean配置文件     
  34.         ac = new FileSystemXmlApplicationContext(xmlPath);     
  35.         helloWorld = (HelloWorld) ac.getBean("HelloWorld");     
  36.         System.out.println("\r\n" + helloWorld.getMsg());     
  37.     }     
  38. }    

 

輸出結果為:

Html代碼

  1. Hello,world!this is created by dom4j!     
  2.     
  3. 遍歷所有的bean獲得id和class:     
  4. id:HelloWorld / class:com.iteye.bolide74.action.HelloWorld     
  5.     
  6. 動態修改HelloWorld這個bean的msg值:     
  7. 原始值為:Hello,world!this is created by dom4j!     
  8. 修改后的值為:Hello,world!this is edited by dom4j!     
  9.     
  10. Hello,world!this is edited by dom4j!  

 

責任編輯:金賀 來源: ITEYE博客
相關推薦

2011-07-13 09:59:27

2009-06-17 14:10:30

Spring配置文件

2025-01-26 00:00:40

微服務架構服務

2021-11-07 14:00:16

JekyllBashAPI后端

2010-01-08 17:32:11

Ubuntu samb

2009-11-25 09:57:17

PHPPDF

2010-02-22 15:59:48

2010-01-15 10:36:49

CentOS yum配

2010-06-29 14:54:26

2021-03-08 08:40:25

Spring Bean 創建單例對象

2025-09-04 01:55:00

2009-06-10 11:09:40

配置文件SessionEclipse+JBo

2011-03-25 17:13:37

Nagios配置文件

2011-02-25 16:39:34

proftpd配置文件

2010-01-15 12:01:55

CentOS Linu

2021-02-03 08:02:50

Spring Bean框架

2010-01-13 10:48:49

Centos設置

2010-02-24 14:10:54

WCF修改App.co

2011-05-18 17:15:45

2011-01-19 14:00:21

點贊
收藏

51CTO技術棧公眾號

亚洲精品中文字幕有码专区| 午夜电影网一区| 国产精品中文字幕久久久| 亚洲国产精品一区二区久久hs| 亚洲香蕉久久| 亚洲国产一区二区在线播放| 欧美亚洲另类久久综合| 国产麻豆一精品一男同| 99精品视频免费| 中文字幕久久精品| 蜜桃视频无码区在线观看| 制服丝袜专区在线| 亚洲男人天堂av网| 欧美日韩亚洲在线| 国产成人麻豆精品午夜在线| 久久一区欧美| 色综合五月天导航| 国产aaaaaaaaa| 欧美亚洲国产日韩| 欧美一区二区日韩| 国产成人手机视频| 黄色在线免费观看网站| 亚洲欧美偷拍三级| 青青草国产精品| 日韩一级免费毛片| 国产剧情av麻豆香蕉精品| 国产成人精品免费视频| 国产精彩视频在线观看| 亚洲乱码免费伦视频| 一二美女精品欧洲| 少妇精品一区二区| 成人av综合网| 91精品福利在线一区二区三区 | 国产三级精品在线不卡| 国产又粗又猛又爽又黄91| 丝袜美腿一区二区三区| 91av在线影院| 国产精品第72页| 综合激情在线| 久久久999成人| 成人一级片免费看| 精品国产一区一区二区三亚瑟| 亚洲国产日韩一区| 欧美熟妇精品一区二区蜜桃视频| 亚洲我射av| 7777精品伊人久久久大香线蕉超级流畅| 人妻精品无码一区二区三区| 51漫画成人app入口| 亚洲已满18点击进入久久| 中文字幕乱码免费| 国内精品久久久久久野外| 亚洲国产高清不卡| 亚洲国产精品综合| 天堂а√在线资源在线| 国产精品久久久久一区二区三区 | 强伦人妻一区二区三区| 偷窥自拍亚洲色图精选| 亚洲精品视频免费在线观看| 美女又爽又黄免费| 久久久久97| 日韩国产精品视频| 中文字幕免费视频| 国精一区二区| 色系列之999| 全程偷拍露脸中年夫妇| 欧美视频一区| 欧美高清视频在线| 国产成人无码一区二区三区在线| 99国产精品| 欧美综合激情网| 久久这里只有精品9| 另类成人小视频在线| 国产这里只有精品| 亚洲AV无码一区二区三区少妇| 成人涩涩免费视频| 欧美日韩国产不卡在线看| av女优在线| 亚洲欧美日韩中文字幕一区二区三区 | av小说天堂网| 成人精品视频一区二区三区| 欧美日韩亚洲综合一区二区三区激情在线| 黄网在线免费| 亚洲日本一区二区| 奇米影视亚洲色图| 欧美日韩视频网站| 91精品免费在线| www国产视频| 国精一区二区| 欧美黑人极品猛少妇色xxxxx| 天天操天天干视频| 日韩成人dvd| 99re在线| 大胆av不用播放器在线播放| 亚洲精品欧美二区三区中文字幕| 激情五月婷婷六月| 精品免费av在线| 欧美videos大乳护士334| 亚洲AV无码片久久精品| 女主播福利一区| 国产精品jvid在线观看蜜臀| a在线观看免费| 久久久久久麻豆| 青青草免费在线视频观看| 中文在线中文资源| 8x福利精品第一导航| 一起草在线视频| 欧美激情成人| 日本久久久久久久| 亚洲精华国产精华精华液网站| 久久精品一区二区三区不卡牛牛 | 亚洲精品国产日韩| 国产精品午夜视频| 色资源在线观看| 一区二区三区免费| 香港日本韩国三级网站| 午夜精品福利影院| 久久久这里只有精品视频| 一起草av在线| 久久久精品日韩欧美| 国产96在线 | 亚洲| 精品一区二区三区在线观看视频| 亚洲社区在线观看| 亚欧视频在线观看| 国产成人精品网址| 国产精品久久成人免费观看| 91tv亚洲精品香蕉国产一区| 日韩精品免费在线观看| 精品在线免费观看视频| 韩国一区二区在线观看| 亚洲视频sss| 四虎4545www精品视频| 日韩av综合网| 97超碰人人干| 97se狠狠狠综合亚洲狠狠| 久艹在线免费观看| jazzjazz国产精品麻豆| 欧美大秀在线观看| 国内精品久久久久久久久久久 | 精品少妇爆乳无码av无码专区| 九九热在线视频观看这里只有精品| 欧美一区二区福利| 欧美二三四区| 亚洲人成电影在线观看天堂色| 成人精品在线看| 99这里只有久久精品视频| 国产自产在线视频| 久久精品论坛| 欧美一级视频免费在线观看| 欧美孕妇孕交xxⅹ孕妇交| 欧美小视频在线| mm131丰满少妇人体欣赏图| 国产深夜精品| 日本不卡免费新一二三区| 国产一区二区三区影视| 亚洲最新av在线网站| 成人免费一区二区三区| 中文字幕一区二区三区在线播放| 日本激情视频在线播放| 围产精品久久久久久久| 91亚洲精品久久久| 日本色护士高潮视频在线观看| 精品少妇一区二区三区视频免付费 | 91久久香蕉国产日韩欧美9色| 国产在线观看无码免费视频| 久久久久99| 亚洲国产一区二区三区在线播| 欧美高清免费| 欧美另类老女人| 免费av网站在线播放| 欧美性猛交xxxx免费看久久久| 级毛片内射视频| 久久www免费人成看片高清| 青青草综合视频| 婷婷精品在线观看| 国产精品丝袜久久久久久高清| 国产网友自拍视频导航网站在线观看| 欧美一级二级三级乱码| 精品欧美一区二区三区免费观看 | 国产美女视频91| 隔壁人妻偷人bd中字| 久久99国内| 亚洲japanese制服美女| 三妻四妾的电影电视剧在线观看| 在线观看国产欧美| 性一交一乱一精一晶| 日韩欧美成人网| 国产黄色小视频网站| www.av精品| 不卡中文字幕在线观看| 亚洲高清av| 亚洲一区综合| 欧美日韩一区二区三区四区不卡 | 在线观看免费中文字幕| 一区二区三区精品视频| 90岁老太婆乱淫| 国产精品一区二区在线观看不卡 | 91蝌蚪porny| 欧美精品色视频| 美女诱惑一区| 日本阿v视频在线观看| 成人综合一区| 久久久99国产精品免费| 99精品视频在线免费播放 | 黄色片视频免费| 亚洲嫩草精品久久| 人妻少妇无码精品视频区| 国产99精品国产| 免费看污黄网站| 中文在线一区| 亚洲 欧美 综合 另类 中字| 亚洲男人都懂第一日本| 99在线影院| 亚洲a成人v| 国产精品国产自产拍高清av水多| 超碰99在线| 超碰91人人草人人干| www.亚洲免费| 亚洲欧美国产另类| 亚洲精品无码专区| 欧美一区二区黄色| 亚洲中文字幕在线观看| 色综合天天性综合| 99视频在线看| 一区二区免费看| 国产福利视频网站| 国产精品久久久久久亚洲毛片| 亚洲第一成人网站| 26uuu精品一区二区| 超碰caoprom| 丁香婷婷综合色啪| 日本中文字幕精品| 国产在线精品一区二区三区不卡| 日日噜噜噜噜久久久精品毛片| 老司机一区二区三区| 欧美 日韩 国产在线观看| 欧美日本中文| 国产成人永久免费视频| 一区二区三区午夜视频| 吴梦梦av在线| 亚洲精品午夜av福利久久蜜桃| 亚洲欧美日产图| 三区四区不卡| 在线视频91| 亚洲综合小说| 中文字幕精品在线播放| 综合国产在线| 嫩草影院中文字幕| 黄色日韩在线| 国产精品无码人妻一区二区在线| 在线看片成人| 男女视频网站在线观看| 一本久道久久综合狠狠爱| 欧美国产亚洲一区| 国产毛片一区| 人人爽人人av| 免费看日韩精品| 51自拍视频在线观看| 国产精品一区二区三区网站| 伊人影院在线观看视频| 成人小视频免费观看| 懂色av粉嫩av蜜乳av| 久久久综合激的五月天| 蜜乳av中文字幕| 亚洲欧美日韩国产综合| 欧美人妻精品一区二区三区| 亚洲国产婷婷综合在线精品| 可以免费看的av毛片| 色哟哟一区二区在线观看| 在线观看免费视频a| 欧美哺乳videos| 色视频在线观看| 中文字幕精品在线视频| 中文字幕有码在线观看| 国语自产在线不卡| 波多视频一区| 91久久精品久久国产性色也91| 亚洲图色一区二区三区| 久久天天狠狠| 天天综合亚洲| 激情五月宗合网| 免费成人性网站| jjzz黄色片| 国产香蕉久久精品综合网| 91嫩草丨国产丨精品| 精品国产户外野外| 夜夜嗨aⅴ一区二区三区| 精品裸体舞一区二区三区| 久久久pmvav| 久久综合网hezyo| 91精品产国品一二三产区| 亚洲free性xxxx护士白浆| 亚洲福利天堂| 婷婷视频在线播放| 男人天堂欧美日韩| 奇米777在线视频| 国产亚洲欧美中文| 欧美日韩免费一区二区| 91官网在线免费观看| 亚洲第一视频在线播放| 中文字幕久热精品视频在线| 超免费在线视频| 国产精品专区第二| 欧美一区 二区| 国产欧美自拍视频| 三级欧美韩日大片在线看| 国产香蕉精品视频| 国产精品国产三级国产专播品爱网| 国产一级一级片| 4438x亚洲最大成人网| 人操人视频在线观看| 久久99久久99精品免观看粉嫩| 欧美色网在线| 精品视频第一区| 黄色成人av网站| 国产精欧美一区二区三区白种人| 久久综合狠狠综合久久综合88| 久久成人国产精品入口| 欧美色区777第一页| 国产综合在线观看| 97在线看福利| 豆花视频一区二区| 毛片在线视频观看| 国内久久精品视频| 男人天堂资源网| 欧美在线影院一区二区| 亚洲人视频在线观看| 欧美高清在线播放| 精品国产鲁一鲁****| 一区二区三区四区| 美女一区二区视频| 国产熟女一区二区| 日本乱码高清不卡字幕| 色在线免费视频| 欧洲成人在线视频| 一区二区三区日本久久久| 自拍日韩亚洲一区在线| 成人中文字幕在线| 久久久久久久伊人| 亚洲精品电影网| а√天堂8资源中文在线| 国产一区精品视频| 99精品热6080yy久久| 国产精品久久久免费观看| 亚洲午夜精品在线| 日本免费一区视频| 欧美一区二区三区免费观看| 日韩成人一级| 日韩精品一区二区三区不卡| 91老司机福利 在线| 精品无码一区二区三区的天堂| 亚洲视频自拍偷拍| 亚洲电影有码| 香蕉久久夜色| 国内精品免费在线观看| 九九免费精品视频| 亚洲成人亚洲激情| 欧美一级鲁丝片| 日本不卡二区高清三区| 乱一区二区av| 欧美日韩在线视频免费| 精品免费视频一区二区| 亚洲午夜天堂| 图片区小说区区亚洲五月| 久久超碰97中文字幕| 青青草原免费观看| 日韩成人在线电影网| 青青热久免费精品视频在线18| 亚洲一区二区在| 国产二区国产一区在线观看| 一级片免费网址| 综合136福利视频在线| 精品三级久久久| 国产成人在线免费看| 国产精品毛片a∨一区二区三区| 国产精品亚洲lv粉色| 国内精品免费午夜毛片| 国产成人av| 国产精品久久久久野外| 欧美色xxxx| 国产超级va在线视频| 久久99精品久久久久久水蜜桃| 久久永久免费| 永久免费看黄网站| 日韩精品高清视频| av国产精品| 欧美污视频网站| 亚洲欧美偷拍另类a∨色屁股| 日韩一区二区三区不卡| 国产乱人伦真实精品视频| 韩国一区二区三区在线观看| a资源在线观看| 亚洲成人激情在线观看| 欧美精品资源| 日韩精品视频在线观看视频| 中文一区二区在线观看| 色网站免费观看| 91在线高清免费观看| 香蕉国产精品偷在线观看不卡| 中国毛片直接看| 在线播放日韩欧美|