java拷貝模板創建java類

需求分析:

在業務開發過程當中,是否經常會遇到都是類似的代碼,需要各種重複創建java類來滿足業務需求。

現提供如下方法,進行批量創建類似的java類,按照需求進行內部內容逐個修改即可。

實現代碼:

package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Test6 {

	public static void main(String[] args) {
		// 拷貝文件模板
		String demo = "/Users/wenxuechao/Workspace/MyWorkspace/myWork/maven/Test/src/test/demo.txt";
		// 創建的java類的區別名字
		String[] target = {"wen1", "wen2", "wen3", "wen4"};
		// 創建java類的存放路徑
		String targetURL = "/Users/wenxuechao/Workspace/MyWorkspace/myWork/maven/Test/src/test/";
		
		for (int i = 0; i < target.length; i++) {
			try {
				BufferedReader bufReader = new BufferedReader(new InputStreamReader(new FileInputStream(new File(demo))));//數據流讀取文件

				StringBuffer strBuffer = new StringBuffer();
				String empty = "";
				String replace = "XXX";
				for (String temp = null; (temp = bufReader.readLine()) != null; temp = null) {
					//判斷當前行是否存在想要替換掉的字符 -1表示存在
					if(temp.indexOf("XXX") != -1){ 
						//按照業務需求進行替換內容
						temp = temp.replace(replace, target[i]);
					}
					strBuffer.append(temp);
					//行與行之間的分割
					strBuffer.append(System.getProperty("line.separator"));
				}
				bufReader.close();
				//替換後輸出的文件位置
				PrintWriter printWriter = new PrintWriter(targetURL+target[i]+"DEMO.java");
				printWriter.write(strBuffer.toString().toCharArray());
				printWriter.flush();
				printWriter.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

}
模板文件內容:

package test;

public class AXXXDEMO {

	private String a1;
	
	private String a2;
	
	private String a3;

	public String getA1() {
		return a1;
	}

	public void setA1(String a1) {
		this.a1 = a1;
	}

	public String getA2() {
		return a2;
	}

	public void setA2(String a2) {
		this.a2 = a2;
	}

	public String getA3() {
		return a3;
	}

	public void setA3(String a3) {
		this.a3 = a3;
	}
	
	
}


場景分析:

模板文件基本上爲大體內容一致的部分,只有java類名不同,或裏面局部內容不同。具體類名可以按照需求進行填入,可以進行批量生成java類文件。

具體案例:

現有如下表:TB1,TB2,TB3,TB4,現需要創建對應的BackupTB1Action,BackupTB2Action,BackupTB3Action,BackupTB4Action,裏面的內容按照需求進行編寫。

這樣,可以將四個表放置到數組當中,修改模板文件,將表名部分用XXX替換,執行main方法,自動進行創建。將XXX替換成對應表明,則可以免去繁瑣的創建。

思路擴展:

按照此方案,可以進行擴展,比如更多的前臺頁面,或者對應的ACTION等類,增刪改查的部分代碼均類似,因此該部分均可以使用模板文件進行創建,後續僅需要按照業務邏輯進行補充即可,大大提高開發效率。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章