kitten

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            11 隨筆 :: 0 文章 :: 0 評論 :: 0 Trackbacks

          2014年4月11日 #

          Web 應用在接受表單提交的數(shù)據(jù)后都需要對其進行合法性檢查,如果表單數(shù)據(jù)不合法,請求將被駁回。類似的,當我們在編寫類的方法時,也常常需要對方法入?yún)⑦M行合法性檢查,如果入?yún)⒉环弦螅椒▽⑼ㄟ^拋出異常的方式拒絕后續(xù)處理。舉一個例子:有一個根據(jù)文件名獲取輸入流的方法:InputStream getData(String file),為了使方法能夠成功執(zhí)行,必須保證 file 入?yún)⒉荒転?null 或空白字符,否則根本無須進行后繼的處理。這時方法的編寫者通常會在方法體的最前面編寫一段對入?yún)⑦M行檢測的代碼,如下所示:

          public InputStream getData(String file) {     if (file == null || file.length() == 0|| file.replaceAll("\\s", "").length() == 0) {         throw new IllegalArgumentException("file入?yún)⒉皇怯行У奈募刂?);     } … }

          類似以上檢測方法入?yún)⒌拇a是非常常見,但是在每個方法中都使用手工編寫檢測邏輯的方式并不是一個好主意。閱讀 Spring 源碼,您會發(fā)現(xiàn) Spring 采用一個 org.springframework.util.Assert 通用類完成這一任務。

          Assert 翻譯為中文為“斷言”,使用過 JUnit 的讀者都熟知這個概念,它斷定某一個實際的運行值和預期想一樣,否則就拋出異常。Spring 對方法入?yún)⒌臋z測借用了這個概念,其提供的 Assert 類擁有眾多按規(guī)則對方法入?yún)⑦M行斷言的方法,可以滿足大部分方法入?yún)z測的要求。這些斷言方法在入?yún)⒉粷M足要求時就會拋出 IllegalArgumentException。

           轉自:http://www.ibm.com/developerworks/cn/java/j-lo-spring-utils2/
          posted @ 2014-08-25 10:53 云③+_+輸 閱讀(217) | 評論 (0)編輯 收藏

          1.用戶標識:
              $ 表示普通用戶
              #表示超級用戶

          2.注釋、命令分隔符
              #表示注釋
              ~代表用戶home路徑
              bash中每個命令或命令序列使用分號或換行來分隔
              如: $ cmd1;cmd2 
                        <=> 
            $cmd1
            $cmd2

          3.shell腳本運行
              shell腳本通常以#!起始 如:#!/bin/bash 
              腳本有2種運行方式:
              1>.作為sh的命令行參數(shù)(此時shebang行無用)
                如:$ sh script.sh #當前目錄下或路徑
              2>.作為具有可執(zhí)行權限的文件(需要a.可執(zhí)行權限  b.利用shebang行)
                如:a. chmod a+x script.sh
                     b. ./script.sh  # ./表當前目錄
          4.終端打印
              1>.echo 默認在調用后添加換行符
               打印文本可用雙引號、單引號、不帶引號
               不帶引號echo時,無法在顯示文本用(有空格時,空格被作為命令界定符)
               單引號時,bash不會對文本中變量($var)求值
              2>.格式化字符串printf
               printf "%-5s %-10s %-4.2f\n" 1 tom 80.3456
              3>. echo轉義換行符
                使用-n  如:echo "hello"
                使用轉義序列 如:echo -e "hello 1\t"
          posted @ 2014-04-11 00:01 云③+_+輸 閱讀(184) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 玉门市| 多伦县| 昭觉县| 福泉市| 汉中市| 黔东| 三穗县| 鄱阳县| 买车| 那坡县| 罗城| 嘉义市| 满城县| 含山县| 扎兰屯市| 合川市| 宜良县| 休宁县| 沛县| 黎城县| 昆山市| 芮城县| 吉林省| 石林| 屏山县| 池州市| 怀安县| 上思县| 宣恩县| 宝山区| 隆子县| 阳泉市| 芦溪县| 龙门县| 都匀市| 巴里| 临沂市| 扬州市| 淮南市| 获嘉县| 宣威市|