package com.taover.codegenerate.business; import java.io.File; import java.io.StringWriter; import com.taover.codegenerate.db.Tools; import com.taover.codegenerate.model.bussiness.EnvironmentModel; import com.taover.codegenerate.model.bussiness.ServiceModel; import freemarker.template.Configuration; import freemarker.template.Template; public class GenerateService { public static void generateService(EnvironmentModel enirModel, boolean coverWhenFileExists) { try{ ServiceModel model = ServiceModel.createServiceModel( enirModel.getServicePackageInfo(), enirModel.getPoPackageInfo(), enirModel.getBeanClassName(), enirModel.getUtilPackageInfo()); File f = new File(Tools.getPath() + Constants.TEMPATE_PATH); Configuration cfg = new Configuration(); cfg.setDirectoryForTemplateLoading(f); //service实现文件 StringWriter outService = new StringWriter(); Template templateService = cfg.getTemplate(Constants.TEMPATE_SERVICEIMPLNAME, "UTF-8"); templateService.process(model, outService); File destFile = new File( enirModel.getServiceFilePath()+File.separator+ "impl"+File.separator+ model.getBeanClassName()+"ServiceImpl.java"); if(coverWhenFileExists || !destFile.exists()){ Tools.createFile(enirModel.getServiceFilePath()+File.separator+"impl", model.getBeanClassName()+"ServiceImpl.java", outService.toString()); }else{ System.out.println("文件生成:"+destFile.getName()+"文件已经存在,未覆盖!"); } //service接口文件 StringWriter outServiceImpl = new StringWriter(); Template templateServiceImpl = cfg.getTemplate(Constants.TEMPATE_SERVICENAME, "UTF-8"); templateServiceImpl.process(model, outServiceImpl); File destFile2 = new File( enirModel.getServiceFilePath()+File.separator+ model.getBeanClassName()+"Service.java"); if(coverWhenFileExists || !destFile2.exists()){ Tools.createFile(enirModel.getServiceFilePath(), model.getBeanClassName()+"Service.java", outServiceImpl.toString()); }else{ System.out.println("文件生成:"+destFile2.getName()+"文件已经存在,未覆盖!"); } }catch(Exception e){ e.printStackTrace(); } } }