パブリック クラスReflectionUtils { プライベート 決勝 静的ロガーロガー= LoggerFactory.getLogger(ReflectionUtils。クラス); / ** *フィールドチェック * / パブリック 静的 クラスをCheckFiled { / ** *空のフィールドがnullまたは""です * @paramのソース修正が必要テストエンティティ * @paramの属性セットexcludeFieldsを検証する必要はありません * @return * / パブリック 静的な 無効checkFileNullAble(ソースオブジェクト、文字列... excludeFields){ リスト <文字列> = excludeFieldsList新しい新規のArrayList <> (); IF(excludeFields.length> 0 ){ excludeFieldsList = は、Arrays.asList(excludeFields); } 試み{ // すべての属性とを取得するために、クラスにOBJを取得する フィールドは、[] = FS source.getClass( ).getDeclaredFields(); // すべての属性を反復処理 するための(フィールド、F:FS){ ; isNullField(F、ソース、excludeFieldsList) } } キャッチ(例外E){ logger.error(e.getMessage()、E); } } プライベート 静的 無効 isNullFieldは(フィールドは、fは、ソースオブジェクトは、リストは、<文字列> excludeFieldsList)がスローしない例外{ // プライベートプロパティは設定にもアクセス可能である (f.setAccessible 真の); // プロパティ排除する必要 IF(excludeFieldsList == nullのを | | excludeFieldsList.size()== 0 ){ オブジェクトfiledValue = f.get(出所); IF(filedValue == nullの || "" .equals(filedValue.toString())){ スロー 新しい新しい例外( "パラメータ" + f.getName()+ "はnullまたはである空!"); } を返します。 } もし(!excludeFieldsList.contains(f.getName())){ もし、((f.get(ソース)== NULL || "" .equals(f.get(ソース).toString()))){ スロー 新しい例外( "パラメータ"+ f.getName()+" nullまたは空です!" ); } } } } }