锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品yw在线观看,亚洲乱码在线卡一卡二卡新区,亚洲成av人片在线观看天堂无码http://www.tkk7.com/eagle-daiq/ 瀛︽棤姝㈠,緇嗚妭鍐沖畾鎴愯觸.zh-cnSat, 10 May 2025 10:53:20 GMTSat, 10 May 2025 10:53:20 GMT60jenkins 鑷姩鍖栧彂甯冨疄璺墊暣鐞?/title><link>http://www.tkk7.com/eagle-daiq/archive/2018/11/08/433476.html</link><dc:creator>鏈堜笅瀛ゅ煄</dc:creator><author>鏈堜笅瀛ゅ煄</author><pubDate>Thu, 08 Nov 2018 03:53:00 GMT</pubDate><guid>http://www.tkk7.com/eagle-daiq/archive/2018/11/08/433476.html</guid><wfw:comment>http://www.tkk7.com/eagle-daiq/comments/433476.html</wfw:comment><comments>http://www.tkk7.com/eagle-daiq/archive/2018/11/08/433476.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/eagle-daiq/comments/commentRss/433476.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/eagle-daiq/services/trackbacks/433476.html</trackback:ping><description><![CDATA[鏈榪戝疄璺礘enkins鐨勮嚜鍔ㄥ寲鍙戝竷錛屽嵆瀹炵幇鎸囧畾欏圭洰鐨勭紪璇?鎵撳寘-涓婁紶-鍙戝竷鐨勬寔緇泦鎴愬彂鐗堣繃紼嬨備腑閫旈亣鍒頒笉灝戦棶棰橈紝鏁寸悊濡備笅浠ュ鍚庡繕銆?nbsp;<br /><div><strong>1.Jenkins瀹夎</strong><br /><div>Jenkins鏄紑婧愯蔣浠訛紝鐩存帴鍒板畼緗戜笅杞芥渶鏂扮増鏈畨瑁呫傚叿浣撹繃紼嬩笉鍐嶇瘡榪幫紝緗戜笂璧勬枡寰堝銆傛湰鏂囧畨瑁呯増鏈琷enkins-2.138.2銆?/div><strong>2.Jenkins鍏ㄥ眬璁劇疆</strong><br /><div>鎵撳紑Jenkins-鍏ㄥ眬宸ュ叿閰嶇疆 閰嶇疆緙栬瘧鎵撳寘鐨勫伐鍏鳳紝鎴戜嬌鐢ㄧ殑鏄痬aven錛屾寜鍏蜂綋鐜閰嶇疆濂界浉搴斾俊鎭傝嫢欏圭洰宸ョ▼浣跨敤鍏朵粬宸ュ叿錛屽gradle鍦ㄥ搴旈」閰嶇疆淇℃伅鍗沖彲銆?br /><img src="http://www.tkk7.com/images/blogjava_net/eagle-daiq/gpz.png" width="1504" height="590" alt="" /></div><div><strong>3.publish over ssh</strong><br />Jenkins - 鎻掍歡綆$悊 鍙夋彃浠秚ab欏典笅瀹夎publish over ssh鎻掍歡銆傜敤浜嶫enkins鏈嶅姟鍣╯sh浼犺緭鏂囦歡鍒癓inux鏈嶅姟鍣ㄣ?br />瀹夎濂絧ublish over ssh鎻掍歡鍚庯紝鍒癑enkins - 閰嶇疆涓?publish over ssh欏硅緗浉鍏充笂浼燣inux鏈嶅姟鍣ㄤ俊鎭?br /><ul><li>Passphrase  - 榛樿涓婁紶鏈嶅姟鍣ㄥ瘑鐮?/li><li>Path to key  - Jenkins鏈嶅姟鍣╯sh key鐩綍</li><li>key  - Jenkins鏈嶅姟鍣╯sh key鍐呭錛屼竴鑸負(fù)~/.ssh鐩綍涓媔d_rsa.pub鍐呭</li><li>SSH Servers - 涓婁紶鏈嶅姟鍣ㄧ殑閰嶇疆</li></ul>Jenkins ssh key鐨勭敓鎴愮綉涓婃湁寰堝璧勬枡錛屼笉鍐嶈繃澶氫粙緇嶃傛垜鏄嬌鐢ㄧ殑Passphrase, 鐧誨綍楠岃瘉key鎴栬卲assphrase鏂瑰紡鍙互浜岄変竴錛屽彲鏍規(guī)嵁鍏蜂綋鎯呭喌閫夋嫨銆?br /><br />ssh server璁劇疆錛?br />緇熶竴閰嶇疆鍙戝竷鏂囦歡鐨凩inux鏈嶅姟鍣紝濡備笅鍥俱?br /><img src="http://www.tkk7.com/images/blogjava_net/eagle-daiq/server.png" width="1512" height="291" alt="" /><br />鍏朵腑 remote directory 琛ㄧず鍙戝竷鏂囦歡鍒版湇鍔″櫒鐨勯粯璁ょ洰褰曘傝嫢涓虹┖榛樿涓哄綋鍓嶇櫥褰曠敤鎴風(fēng)洰褰曘?br /><br /><br /><strong>4.欏圭洰鍙戝竷<br /></strong>鏈枃浠vn鐨勮鍗昽rder欏圭洰涓轟緥錛岄氳繃Jenkins宸ュ叿錛岀粡榪囩紪璇?鎵撳寘-涓婁紶-鍙戝竷榪囩▼錛屽姩鎬佺殑灝唈ava jar鍙戝竷鍒頒袱鍙版湇鍔″櫒銆?br />4.1 鏂板緩浠誨姟<br />Jenkins - 鏂板緩浠誨姟錛屽垱寤簅rder鍙戝竷鐨勪竴涓換鍔°傜敱浜庨」鐩槸鍩轟簬maven鐨勶紝鎵浠ラ夋嫨'鏋勫緩涓涓猰aven欏圭洰'榪涘叆閰嶇疆欏甸潰銆?br /><br /><img src="http://www.tkk7.com/images/blogjava_net/eagle-daiq/task.png" width="1271" height="523" alt="" /><br /><br />閰嶇疆svn浠g爜搴撲俊鎭細(xì)<br /><div><img src="http://www.tkk7.com/images/blogjava_net/eagle-daiq/svn.png" width="1679" height="801" alt="" /></div>build閰嶇疆錛氬搴旈」鐩緭鍏ラ」鐩瀯寤哄懡浠ゃ?br /><img src="http://www.tkk7.com/images/blogjava_net/eagle-daiq/build.png" width="1458" height="230" alt="" /><span style="white-space: pre;"> <br /><br />p</span>ost steps錛氶厤緗彂甯冩湇鍔″櫒鐨勪俊鎭傚涓嬪浘銆?br /><br /><img src="http://www.tkk7.com/images/blogjava_net/eagle-daiq/postcfg.png" width="1389" height="877" alt="" /><br />鐢變簬order璁㈠崟鏈嶅姟鏄泦緹ら儴緗詫紝鍒嗗埆璁劇疆浜?鍙?ssh server銆?br />source files 鏄寚涓婁紶鍒版湇鍔″櫒鐨勫彂甯冩枃浠躲侸enkins榛樿緙栬瘧鍚庢枃浠跺湪workspace鐩綍涓嬶紝榪欓噷杈撳叆target/{鍙戝竷jar鏂囦歡}. 涓婁紶鍒板彂甯冩湇鍔″櫒鍚庯紝涓嶉渶瑕乼arget鐩綍錛屾墍浠?remove prefix涓~target/銆?<br />Remote directory鍙互涓虹┖錛岀敱浜庢垜浠湪絎?姝ヤ腑宸茬粡璁劇疆浜嗗叏灞榛樿ssh server鐨剅emote directory 錛屾墍浠ヨ繖閲屽彲浠ヤ笉濉紝濡傝繖閲岃緗皢瑕嗙洊涔嬪墠鐨勫叏灞閰嶇疆鐩綍銆?br />exec command鏄枃浠朵笂浼犲埌鍙戝竷鏈嶅姟鍣ㄥ悗錛岄渶瑕佹墽琛岀殑shell鑴氭湰鎸囦護錛岀敤浜庡彂甯僶rder jar鍖呯殑鍚姩澶囦喚鍛戒護銆傚浘涓璦pp-deploy.sh涓哄簲鐢╦ar鏂囦歡鐨勫惎鍔ㄥ浠絪hell鑴氭湰鏂囦歡錛岄渶鏀懼埌鍙戝竷鏈嶅姟鍣ㄦ寚瀹氱洰褰曚笅銆傚叾涓瑽UILD_ID=DONTKILLME鏄負(fù)浜唊ill 鑰佺殑榪愯jar鏃墮伩鍏嶅綋鍓嶆墽琛岃繘紼嬩笉琚鏉銆?br /><br />app-deploy.sh鏂囦歡錛?br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#!/bin/sh<br />## java env<br />## service name<br />SERVICE_NAME=$1<br />SERVICE_DIR=/usr/service/<br />JAR_NAME=$SERVICE_NAME\.jar<br />PID=$SERVICE_NAME\.pid<br /><br />#function start<br />start(){<br />   cd $SERVICE_DIR<br />   source /etc/profile<br />   ## nohup java -Xms256m -Xmx512m -jar $JAR_NAME >log/$SERVICE_NAME.out 2>&1 &<br />   nohup java -jar -Xms256m -Xmx256m $JAR_NAME >/dev/<span style="color: #0000FF; ">null</span> 2>&1 &<br />   echo $! > $SERVICE_DIR/$PID<br />   echo "#### start $SERVICE_NAME"<br />}<br /><br /># function stop<br />stop(){<br />        cd $SERVICE_DIR<br />        <span style="color: #0000FF; ">if</span> [ -f "$SERVICE_DIR/$PID" ]; then<br />                kill `cat $SERVICE_DIR/$PID`<br />                rm -rf $SERVICE_DIR/$PID<br />        fi<br />        echo "#### stop $SERVICE_NAME"<br />        <br />    sleep 3<br /><br /><br />    PROCESS=`ps -ef|grep $JAR_NAME |grep -v grep|grep -v PPID|awk '{ print $2}'`<br />    <span style="color: #0000FF; ">for</span> i in $PROCESS<br />    <span style="color: #0000FF; ">do</span><br />      echo "Kill the $SERVICE_NAME process [ $i ]"<br />      kill -9 $i<br />    done<br />}<br /><br /># function clean<br />clean(){<br />        echo "---start do do clean phase."<br />    cd $SERVICE_DIR<br />        <span style="color: #0000FF; ">if</span> [ ! -d "lastDeploy" ]; then<br />           mkdir lastDeploy<br />        fi<br />        <span style="color: #0000FF; ">if</span> [ -f "$JAR_NAME" ]; then<br />           echo "backup $JAR_NAME"<br />           mv $JAR_NAME lastDeploy/$JAR_NAME\_`date "+%Y%m%d%H%M%S"`<br />        fi <br /><br />        <span style="color: #0000FF; ">if</span> [ -d "tmp" ]; then<br />       mv -f tmp/$JAR_NAME ./<br />    fi<br />}<br /><br /><span style="color: #0000FF; ">case</span> "$2" in<br /><br />    start)<br />        start<br />        ;;<br /><br />    stop)<br />        stop<br />        ;;<br /><br />    restart)<br />        stop<br />        sleep 2<br />        start<br />        echo "#### restart $SERVICE_NAME"<br />        ;;<br />   <br />    clean)<br />        stop<br />            sleep 2<br />        clean<br />        echo "#### clean $SERVICE_NAME"<br />        ;;<br />        <br />    deploy)<br />        stop<br />        clean<br />        start<br />        echo "#### deploy $SERVICE_NAME"<br />        ;;    <br /><br />esac<br />exit 0</div>浠ヤ笂鑴氭湰鍙戝竷閫昏緫濡備笅錛?br />1.鍏坰top鑰佺殑jar搴旂敤紼嬪簭銆傚厛浠庤褰曠殑pid鏂囦歡涓壘kill鐨勮繘紼嬶紝鎵句笉鍒伴氳繃ps鎸囦護鏌ユ壘褰撳墠榪愯jar鏂囦歡錛屽啀kill -9 鏉鎺夈?br />2.灝嗚佺殑jar紼嬪簭縐誨姩鍒發(fā)astDeploy鐩綍澶囦喚錛屽茍鍔犱笂鏃墮棿鎴沖悗緙銆傚皢寰呭彂甯冪殑鏂癹ar鏂囦歡浠巘mp鐩綍縐誨姩鍒板彂甯冪洰褰曘?br />3.鍚姩鏂扮殑jar紼嬪簭鏂囦歡銆?br /><br /><br /><div></div></div></div><img src ="http://www.tkk7.com/eagle-daiq/aggbug/433476.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/eagle-daiq/" target="_blank">鏈堜笅瀛ゅ煄</a> 2018-11-08 11:53 <a href="http://www.tkk7.com/eagle-daiq/archive/2018/11/08/433476.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>java鍔犲瘑綆楁硶瀹炵幇錛圧SA,AES,DES,Hmac,MD5,Base64錛?/title><link>http://www.tkk7.com/eagle-daiq/archive/2017/05/28/432558.html</link><dc:creator>鏈堜笅瀛ゅ煄</dc:creator><author>鏈堜笅瀛ゅ煄</author><pubDate>Sun, 28 May 2017 09:16:00 GMT</pubDate><guid>http://www.tkk7.com/eagle-daiq/archive/2017/05/28/432558.html</guid><wfw:comment>http://www.tkk7.com/eagle-daiq/comments/432558.html</wfw:comment><comments>http://www.tkk7.com/eagle-daiq/archive/2017/05/28/432558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/eagle-daiq/comments/commentRss/432558.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/eagle-daiq/services/trackbacks/432558.html</trackback:ping><description><![CDATA[     鎽樿: KeyAlgorithmEnuKeyAlgorithmEnuCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 /** 2  * 緋葷粺鏀寔鐨勫姞瀵嗙畻娉?nbsp;3  */...  <a href='http://www.tkk7.com/eagle-daiq/archive/2017/05/28/432558.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/eagle-daiq/aggbug/432558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/eagle-daiq/" target="_blank">鏈堜笅瀛ゅ煄</a> 2017-05-28 17:16 <a href="http://www.tkk7.com/eagle-daiq/archive/2017/05/28/432558.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>java鍙墽琛宩ar璇誨彇澶栭儴灞炴ф枃浠剁殑鏂規(guī)硶http://www.tkk7.com/eagle-daiq/archive/2016/03/18/429717.html鏈堜笅瀛ゅ煄鏈堜笅瀛ゅ煄Fri, 18 Mar 2016 02:10:00 GMThttp://www.tkk7.com/eagle-daiq/archive/2016/03/18/429717.htmlhttp://www.tkk7.com/eagle-daiq/comments/429717.htmlhttp://www.tkk7.com/eagle-daiq/archive/2016/03/18/429717.html#Feedback0http://www.tkk7.com/eagle-daiq/comments/commentRss/429717.htmlhttp://www.tkk7.com/eagle-daiq/services/trackbacks/429717.html
璇誨彇jar鍖呭鐨勬柟娉曢昏緫:閫氳繃鑾峰彇綾繪枃浠舵墍鍦╟ode source鐨勮礬寰勬潵瀹氫綅jar鍖呰礬寰勩傜劧鍚庣敱"jar鍖呰礬寰?閰嶇疆鏂囦歡鍚?鐨勬柟寮忓彇寰楀搴斿睘鎬ф枃浠躲?br />
 1 /**
 2      * 鍙栫被瀵瑰簲source婧愮洰褰曡礬寰?br /> 3      * @param clazz
 4      * @author qiang.dai
 5      * @return
 6      */
 7     public static String getCodeSourcePath(Class clazz) {
 8         URL url = clazz.getProtectionDomain().getCodeSource().getLocation();
 9         String path = url.getPath();
10         try {
11             if (path.toUpperCase().endsWith(".JAR")) {
12                 int index = path.lastIndexOf("/");
13                 path = path.substring(0, index);
14             }
15             return java.net.URLDecoder.decode(path, "UTF-8");
16         } catch (UnsupportedEncodingException e) {
17             e.printStackTrace();
18             return "";
19         }
20     }

璇誨彇閰嶇疆鏂囦歡:

 1 public ConfigManager() {
 2         try {
 3             String classPath = URLUtil.getCodeSourcePath(ConfigManager.class);
 4             Properties prop = new Properties();
 5 //            System.out.println("path="+classPath+File.separator+CONFIG_FILE_NAME);
 6             prop.load(new FileReader(new File(new File(classPath),CONFIG_FILE_NAME)));
 7             initConfigs(prop);
 8         } catch (Exception e) {
 9             System.out.println(String.format("******鍒濆鍖栭厤緗枃浠跺け璐?璇鋒鏌ユ枃浠禰%s]鍦ㄥ綋鍓嶇洰褰曚笅瀛樺湪******", CONFIG_FILE_NAME));
10             e.printStackTrace();
11             throw new RuntimeException(e);
12         } 
13     }


鏈堜笅瀛ゅ煄 2016-03-18 10:10 鍙戣〃璇勮
]]>
poi瑙f瀽excel鍒楀瓙http://www.tkk7.com/eagle-daiq/archive/2016/03/18/429716.html鏈堜笅瀛ゅ煄鏈堜笅瀛ゅ煄Fri, 18 Mar 2016 01:51:00 GMThttp://www.tkk7.com/eagle-daiq/archive/2016/03/18/429716.htmlhttp://www.tkk7.com/eagle-daiq/comments/429716.htmlhttp://www.tkk7.com/eagle-daiq/archive/2016/03/18/429716.html#Feedback0http://www.tkk7.com/eagle-daiq/comments/commentRss/429716.htmlhttp://www.tkk7.com/eagle-daiq/services/trackbacks/429716.html
 1 /**
 2      * poi瑙f瀽excel    sample
 3      * 閽堝2007鍙婁互涓婄増鏈?nbsp;浣跨敤XSSF瑙f瀽
 4      * @throws EncryptedDocumentException
 5      * @throws InvalidFormatException
 6      * @throws IOException
 7      */
 8     public void parseExcel() throws EncryptedDocumentException, InvalidFormatException, IOException{
 9         InputStream is = new FileInputStream("e:\\excel.xlsx");
10         Workbook workbook = WorkbookFactory.create(is);  
11         Sheet sheet = null;
12         for (int i = 0; i < workbook.getNumberOfSheets(); i++) {// 鑾峰彇姣忎釜Sheet琛?/span>
13             sheet = workbook.getSheetAt(i);
14             String sheetName = sheet.getSheetName();
15             if(workbook.isSheetHidden(i)){
16                 //鍒ゆ柇sheet欏墊槸鍚﹁闅愯棌
17                 System.out.println("sheet="+sheetName+", is hidden.");
18                 continue;
19             }
20             for (int j = 0; j < sheet.getPhysicalNumberOfRows(); j++) {// 鑾峰彇姣忚
21                 if(j==0)    //絎竴琛宼itle錛屼笉澶勭悊
22                     continue;
23                 Row row = sheet.getRow(j);
24                 if(row == null)
25                     continue;
26                 //澶勭悊姣忚鏁版嵁
27                 try {
28                     if(row.getZeroHeight()){
29                         //琛屾槸鍚﹁闅愯棌
30                         System.out.println("---Sheet琛╗"+sheetName+"],絎? + j + "琛岃闅愯棌錛屼笉澶勭悊---");
31                         continue;
32                     }
33                     int columns = row.getPhysicalNumberOfCells();
34                     for(int c=0;c<columns;c++){
35                         Cell cell = row.getCell(c);
36                         //TODO: busyness process
37                     }
38                 } catch (Exception e) {
39                     System.out.println("---Sheet琛╗"+sheetName+"],絎? + j + "琛屽鐞嗗嚭閿?img src="http://www.tkk7.com/Images/dot.gif" alt="" />.---");
40                     e.printStackTrace();
41                     throw new RuntimeException(e);
42                 }
43                 
44                 System.out.println("---Sheet琛╗"+sheetName+"],絎? + j + "琛屽鐞嗗畬姣?--");
45             }    
46         }    
47     }


鏈堜笅瀛ゅ煄 2016-03-18 09:51 鍙戣〃璇勮
]]>
httpclient 瀹炵幇java鍚庡彴post xml璇鋒眰http://www.tkk7.com/eagle-daiq/archive/2012/01/30/369018.html鏈堜笅瀛ゅ煄鏈堜笅瀛ゅ煄Mon, 30 Jan 2012 06:22:00 GMThttp://www.tkk7.com/eagle-daiq/archive/2012/01/30/369018.htmlhttp://www.tkk7.com/eagle-daiq/comments/369018.htmlhttp://www.tkk7.com/eagle-daiq/archive/2012/01/30/369018.html#Feedback1http://www.tkk7.com/eagle-daiq/comments/commentRss/369018.htmlhttp://www.tkk7.com/eagle-daiq/services/trackbacks/369018.html/**
     * Post Http request with XML parameter
     * 
@param requestUrl 
     * 
@param xmlData    request xml parameter
     * 
@param contentType such as "application/xml"
     * 
@param charset such as "UTF-8" or "GBK"
     * 
@return
     
*/

    
public static HttpRespondResult postXmlRequest(String requestUrl, String xmlData, String contentType, String charset){
        HttpRespondResult revObj 
= new HttpRespondResult();
        
//init PostMethod object.
        PostMethod post = new PostMethod(requestUrl);
        
        
try {
            
//wrape the request entity.
            RequestEntity requestEntity = new StringRequestEntity(xmlData, contentType, charset);
            post.setRequestEntity(requestEntity);
            HttpClient httpClient 
= new HttpClient();
            
// send the post http request and reture status code.
            int statusCode = httpClient.executeMethod(post);
            
// get reture content from server side.
            String bodyContent = post.getResponseBodyAsString();
            
            
// populate the reture values to vo.
            revObj.setStatusCode(statusCode);
            revObj.setRespondbodyContent(bodyContent);
            
        }
 catch (UnsupportedEncodingException e) {
            revObj.handleExceptionMsg(e);
            e.printStackTrace();
        }
catch (HttpException e) {
            revObj.handleExceptionMsg(e);
            e.printStackTrace();
        }
 catch (IOException e) {
            revObj.handleExceptionMsg(e);
            e.printStackTrace();
        }
 catch (Exception e){
            revObj.handleExceptionMsg(e);
            e.printStackTrace();
        }
finally {
            
//close the connection.
            post.releaseConnection();
        }

        
        
        
return revObj;
    }






鏈堜笅瀛ゅ煄 2012-01-30 14:22 鍙戣〃璇勮
]]>
Jaxb絎旇http://www.tkk7.com/eagle-daiq/archive/2012/01/30/369016.html鏈堜笅瀛ゅ煄鏈堜笅瀛ゅ煄Mon, 30 Jan 2012 06:02:00 GMThttp://www.tkk7.com/eagle-daiq/archive/2012/01/30/369016.htmlhttp://www.tkk7.com/eagle-daiq/comments/369016.htmlhttp://www.tkk7.com/eagle-daiq/archive/2012/01/30/369016.html#Feedback0http://www.tkk7.com/eagle-daiq/comments/commentRss/369016.htmlhttp://www.tkk7.com/eagle-daiq/services/trackbacks/369016.html鏈榪戦」鐩師鍥狅紝鐮旂┒浜嗕笅jaxb銆?/span>jaxb鏄?/span>Java api xml binding鐨勭畝縐幫紝鏄負(fù)瀹炵幇java涓?/span>xml鏁版嵁鐨勭浉浜掕漿鎹㈣屽畾涔夌殑涓涓?/span>api鏍囧噯銆傝鏍囧噯浠?/span>annotation鐨勬柟寮忓疄鐜?/span>xml鐨勮漿鎹€備笉鐢ㄥ紑鍙戜漢鍛樺崟鐙В鏋愭瘡涓璞″睘鎬т笌xml鍏冪礌鐨?/span>mapping鍏崇郴錛屽彧闇鍦?/span>java bean涓敞鍏ョ畝鍗曠殑java annotation錛屽叾浠栫殑浜ょ粰宸ュ叿鍘誨鐞嗐傝宸ュ叿鍖呯被鑳界粰xml鏁版嵁澶勭悊甯︽潵鏋佸ぇ鏂逛究銆傚叿浣撳疄鐜拌涓嬨?/p>

Java bean瀵硅薄瀹氫箟錛?/p>

/**
 * 淇冮攢xml瀵硅薄綾?nbsp;
 * 
@author daiqiang
 * 瀵瑰簲xml鏂囦歡鍐呭濡備笅錛?br /> * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <promotion>
        <id>promotionId</id>
        <name>鍏冩棪淇冮攢</name>
        <type>CMS</type>
        <typeDes>CMS涓繪帹淇冮攢</typeDes>
        <startTime>2012-01-01</startTime>
        <endTime>2012-01-03</endTime>
        <products>
            <product>
                <merchantId>merchantid</merchantId>
                <num>500</num>
                <productCode>code1</productCode>
                <productId>111</productId>
                <requestId>codedata</requestId>
            </product>
            <product>
                <merchantId>merchantid2</merchantId>
                <num>800</num>
                <productCode>code2</productCode>
                <productId>2</productId>
                <requestId>codedata</requestId>
            </product>
        </products>
    </promotion>
 *
 
*/

@XmlRootElement(name
="promotion")
@XmlAccessorType(XmlAccessType.FIELD)
public class Promotion implements Serializable{

    
private static final long serialVersionUID = 870036805093867083L;
    
    
private String id;
    
private String name;
    
private String type;
    
private String typeDes;
    
private String startTime;
    
private String endTime;
    
    @XmlElementWrapper(name
="products")
    @XmlElement(name
="product")
    
private List<Product> products;
    
    
/*@XmlTransient
    the field is not binded to xml
    private String testHiddenFields;
*/

    
//姝ゅ鐪佺暐鍏蜂綋set get 鏂規(guī)硶銆?br />

璇存槑錛氫笂鏂囧畾涔変簡涓涓績閿瀵硅薄綾?/span>Promotion.

綾繪爣娉ㄨ〃紺猴細(xì)

@XmlRootElement錛氱敤浜庡畾涔夎瀵硅薄鏄犲皠鎴?/span>xml鏍硅妭鐐瑰厓绱犲悕錛岄粯璁や笌綾誨悕涓鑷淬傚彲閫氳繃@XmlRootElement(name="otherRootElement")鏂瑰紡鎸囧畾鍏蜂綋鍚嶇О銆?/span>

 

@XmlAccessorType: 鐢ㄤ簬鏍囪瘑璇?/span>java瀵硅薄涓?/span>xml鏄犲皠鐨勮闂柟寮忋傛湁濡備笅灞炴у箋?/span>

PROPERTY/FIELD/PUBLIC_MEMBER/NONE

 

PROPERTY: 鎵鏈?/span>set/get鏂規(guī)硶瀵瑰皢琚槧灝勪負(fù)xml鍏冪礌.闄ら潪琚?/span>XmlTransient鏍囨敞渚嬪.

 

FIELD:鎵鏈夊璞″睘鎬у皢琚槧灝勪負(fù)xml鍏冪礌銆傞櫎闈炶XmlTransient鏍囨敞渚嬪.

 

PUBLIC_MEMBER錛?/span>姣忎釜public鐨?/span>get/set瀵規(guī)柟娉曟垨public field灝嗚鏄犲皠涓?/span>xml鍏冪礌銆傞櫎闈炶XmlTransient鏍囨敞渚嬪.

 

NONE錛?/span>娌℃湁fields 鎴?/span> property琚槧灝勶紝闄ら潪鏄劇ず鎸囧畾鍏蜂綋fields鎴?/span>property銆?/span>

 

 

灞炴ф爣娉ㄨ〃紺猴細(xì)

@XmlTransient:鎸囧搴斿睘鎬т笉鍋?/span>xml鏄犲皠銆?/span>

@XmlElement(name="product")錛氭寚瀹氬睘鎬ф槧灝勬椂瀵瑰簲xml鍏冪礌鍚嶇О

@XmlElementWrapper(name="products")錛氬湪鏌愪簺鍦烘櫙涓嬶紝闇瑕佸鏄犲皠鐨勫睘鎬у仛鍖呰澶勭悊銆傚渚嬪瓙涓?/span>products List瀵硅薄灞炴э紝鍦?/span>xml涓垜鎯沖湪鏄犲皠瀵規(guī)墍鏈夌殑product鍏冪礌鍐嶅仛涓涓?/span>products 鍏冪礌鍖呰錛屽涓嬫墍紺猴紝灝卞彲浠ユ寜姝ょ鏂瑰紡瀹炵幇銆?/span>

<products>

    <product> … </product>

    <product> … </product>

    …

</products>

 

Java涓?/span>xml鏄犲皠鏂規(guī)硶

 

Java瀵硅薄鍒?/span>XML

 

/**
     * convent java object to xml format String.
     * 
     * 
@param originalObj
     * 
@param xmlCharset
     *            the format of charset for xml. ie "UTF-8", "GBK"
     * 
@param isFragment
     *            whether or not display the header for the generated xml. such
     *            as <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
     * 
@return
     
*/

    
public static String convertJava2XmlStr(Object originalObj,
            String xmlCharset, 
boolean isFragment) {
        String xmlStr 
= "";
        
try {
            JAXBContext ctx 
= JAXBContext.newInstance(originalObj.getClass());
            Marshaller marshaller 
= ctx.createMarshaller();
            marshaller.setProperty(Marshaller.JAXB_ENCODING, xmlCharset);
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, 
true);
            marshaller.setProperty(Marshaller.JAXB_FRAGMENT, isFragment);

            ByteArrayOutputStream os 
= new ByteArrayOutputStream();
            marshaller.marshal(originalObj, os);

            xmlStr 
= os.toString();
        }
 catch (PropertyException e) {
            e.printStackTrace();
        }
 catch (JAXBException e) {
            e.printStackTrace();
        }
 catch (Exception e) {
            e.printStackTrace();
        }

        
return xmlStr;
    }

 

XML鍒?/span>Java瀵硅薄

 

/**
     * convert xml string to Java object by JAXB.
     * 
@param obj  to convert java object.
     * 
@param xmlStr    
     * 
@return
     
*/

    
public static Object convertXmlStr2Java(Object obj, String xmlStr) {
        
try {
            JAXBContext ctx 
= JAXBContext.newInstance(obj.getClass());
            InputStream source 
= new ByteArrayInputStream(xmlStr.getBytes());
            Unmarshaller unmarshaller 
= ctx.createUnmarshaller();
            obj 
= unmarshaller.unmarshal(source);
        }
 catch (JAXBException e) {
            e.printStackTrace();
        }

        
return obj;
    }





]]>
CXF妗嗘灦涓?webService璋冪敤澶辨晥鏃墮棿璁劇疆http://www.tkk7.com/eagle-daiq/archive/2010/02/26/313992.html鏈堜笅瀛ゅ煄鏈堜笅瀛ゅ煄Fri, 26 Feb 2010 05:56:00 GMThttp://www.tkk7.com/eagle-daiq/archive/2010/02/26/313992.htmlhttp://www.tkk7.com/eagle-daiq/comments/313992.htmlhttp://www.tkk7.com/eagle-daiq/archive/2010/02/26/313992.html#Feedback0http://www.tkk7.com/eagle-daiq/comments/commentRss/313992.htmlhttp://www.tkk7.com/eagle-daiq/services/trackbacks/313992.html 

璋冪敤鏂規(guī)硶

璇ユ柟娉曚負(fù)瀹㈡埛绔痺s璋冪敤鏂規(guī)硶錛岃繑鍥炰竴涓闂畐s鎺ュ彛鏈嶅姟瀵硅薄錛堝嵆浼犲叆鍙傛暟涓殑serviceClass鎺ュ彛瀵硅薄錛夈?

鏈堜笅瀛ゅ煄 2010-02-26 13:56 鍙戣〃璇勮
]]>
webIm涓璲s鎬葷粨http://www.tkk7.com/eagle-daiq/archive/2009/08/27/292821.html鏈堜笅瀛ゅ煄鏈堜笅瀛ゅ煄Thu, 27 Aug 2009 06:57:00 GMThttp://www.tkk7.com/eagle-daiq/archive/2009/08/27/292821.htmlhttp://www.tkk7.com/eagle-daiq/comments/292821.htmlhttp://www.tkk7.com/eagle-daiq/archive/2009/08/27/292821.html#Feedback0http://www.tkk7.com/eagle-daiq/comments/commentRss/292821.htmlhttp://www.tkk7.com/eagle-daiq/services/trackbacks/292821.html闃呰鍏ㄦ枃

鏈堜笅瀛ゅ煄 2009-08-27 14:57 鍙戣〃璇勮
]]>
extjs 闈㈠悜瀵硅薄瀹炶返http://www.tkk7.com/eagle-daiq/archive/2009/07/17/287213.html鏈堜笅瀛ゅ煄鏈堜笅瀛ゅ煄Fri, 17 Jul 2009 15:31:00 GMThttp://www.tkk7.com/eagle-daiq/archive/2009/07/17/287213.htmlhttp://www.tkk7.com/eagle-daiq/comments/287213.htmlhttp://www.tkk7.com/eagle-daiq/archive/2009/07/17/287213.html#Feedback6http://www.tkk7.com/eagle-daiq/comments/commentRss/287213.htmlhttp://www.tkk7.com/eagle-daiq/services/trackbacks/287213.html闃呰鍏ㄦ枃

鏈堜笅瀛ゅ煄 2009-07-17 23:31 鍙戣〃璇勮
]]>
hibernate 瀹炰綋瀛楁寤惰繜鍔犺澆綆鍗曞鐞嗘柟寮?/title><link>http://www.tkk7.com/eagle-daiq/archive/2009/07/16/287007.html</link><dc:creator>鏈堜笅瀛ゅ煄</dc:creator><author>鏈堜笅瀛ゅ煄</author><pubDate>Thu, 16 Jul 2009 09:46:00 GMT</pubDate><guid>http://www.tkk7.com/eagle-daiq/archive/2009/07/16/287007.html</guid><wfw:comment>http://www.tkk7.com/eagle-daiq/comments/287007.html</wfw:comment><comments>http://www.tkk7.com/eagle-daiq/archive/2009/07/16/287007.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/eagle-daiq/comments/commentRss/287007.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/eagle-daiq/services/trackbacks/287007.html</trackback:ping><description><![CDATA[     鎽樿: hibernate 瀛楁寤惰繜鍔犺澆鐨勭畝鏄撳疄鐜版柟寮?nbsp; <a href='http://www.tkk7.com/eagle-daiq/archive/2009/07/16/287007.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/eagle-daiq/aggbug/287007.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/eagle-daiq/" target="_blank">鏈堜笅瀛ゅ煄</a> 2009-07-16 17:46 <a href="http://www.tkk7.com/eagle-daiq/archive/2009/07/16/287007.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://qzapp88.com" target="_blank">久久久久久国产a免费观看黄色大片 </a>| <a href="http://www-091w.com" target="_blank">亚洲高清有码中文字</a>| <a href="http://ww99w.com" target="_blank">亚洲欧洲校园自拍都市</a>| <a href="http://4388x4.com" target="_blank">亚洲图片一区二区</a>| <a href="http://lai228.com" target="_blank">亚洲人成在线观看</a>| <a href="http://3333seav.com" target="_blank">亚洲色图校园春色</a>| <a href="http://kfdingrui.com" target="_blank">亚洲国产成人资源在线软件</a>| <a href="http://chinahongfeng.com" target="_blank">91大神亚洲影视在线</a>| <a href="http://xbooktxt.com" target="_blank">亚洲国产精品一区二区久</a>| <a href="http://tjtangpu.com" target="_blank">亚洲图片中文字幕</a>| <a href="http://jhc2go.com" target="_blank">97se亚洲国产综合自在线</a>| <a href="http://wbkk88.com" target="_blank">亚洲日韩国产一区二区三区在线 </a>| <a href="http://txa6.com" target="_blank">亚洲av日韩av激情亚洲</a>| <a href="http://nnlxl.com" target="_blank">亚洲精品天天影视综合网</a>| <a href="http://vv848.com" target="_blank">亚洲综合在线视频</a>| <a href="http://taixin668.com" target="_blank">91亚洲国产成人久久精品</a>| <a href="http://ydysmedia.com" target="_blank">国产亚洲精品成人AA片</a>| <a href="http://www026qqcom.com" target="_blank">亚洲精品无码专区在线播放</a>| <a href="http://ywgj50225.com" target="_blank">怡红院亚洲红怡院在线观看</a>| <a href="http://usagaa.com" target="_blank">一级做a毛片免费视频</a>| <a href="http://hqshimo.com" target="_blank">在线观看免费黄色网址</a>| <a href="http://ranjihua.com" target="_blank">日韩内射激情视频在线播放免费</a>| <a href="http://3baimm.com" target="_blank">999在线视频精品免费播放观看</a>| <a href="http://qzllw.com" target="_blank">免费看韩国黄a片在线观看</a>| <a href="http://xseporn.com" target="_blank">日本二区免费一片黄2019</a>| <a href="http://dghxm168.com" target="_blank">亚洲国产一区视频</a>| <a href="http://njbyz.com" target="_blank">亚洲AV无码一区二区乱子伦</a>| <a href="http://minliusoft.com" target="_blank">337p日本欧洲亚洲大胆精品555588 </a>| <a href="http://8833081.com" target="_blank">四虎永久成人免费</a>| <a href="http://jomujy.com" target="_blank">亚洲一区二区三区自拍公司</a>| <a href="http://alodaba.com" target="_blank">久久精品国产亚洲香蕉</a>| <a href="http://qdhengjun.com" target="_blank">亚洲性线免费观看视频成熟</a>| <a href="http://733807.com" target="_blank">亚洲人成电影网站免费</a>| <a href="http://jack-fx.com" target="_blank">日本中文字幕免费看</a>| <a href="http://bjycxy88.com" target="_blank">国产成人免费视频</a>| <a href="http://520baoyu.com" target="_blank">无码免费午夜福利片在线</a>| <a href="http://565636.com" target="_blank"></a>| <a href="http://pc521.com" target="_blank">麻豆亚洲AV成人无码久久精品</a>| <a href="http://yongyihongze.com" target="_blank">欧洲美女大片免费播放器视频</a>| <a href="http://mqiuxia66.com" target="_blank">国产一级在线免费观看</a>| <a href="http://5aa6.com" target="_blank">免费观看无遮挡www的视频</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>