一、主要思路
1、用占位符来代表填充位置。
2、读取全部模板字符串内容。
3、用String类的replaceAll()方法来替换。
4、把替换结果输出为新文件。
二、设计模板文件
内容如下:
import org.db.#{dataMapper};
import org.entity.#{bean};
public class #{className} {
@AutoWired
private #{dataMapper} mapper;
public #{bean} getById(String id){
return mapper.selectById(id);
}
}
占位符的格式:"#{名字}"
二、进行代码生成
// 1、把模板文件的内容全部读取
String str = readAll("template.txt");
// 2、替换成想要的结果
str = str
.replaceAll("#\\{className}", "UserService")
. replaceAll("#\\{dataMapper}", "UserMapper")
.replaceAll("#\\{bean}", "User");
// 3、输出到文件中
FileWriter w = new FileWriter("UserService.java");
w.write(str.toCharArray());
w.close();