`
- 浏览:
152635 次
- 性别:
- 来自:
上海
-
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Properties;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
public class Test ...{
private static Properties props = null;
/** *//**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception ...{
// TODO Auto-generated method stub
/**//* first, get and initialize an engine */
VelocityEngine ve = new VelocityEngine();
ve.init();
/**//* next, get the Template */
Template t = ve.getTemplate( "src/Action.vm","gb2312" );
// Template t = ve.getTemplate( "src/Action.vm" );
//如果改为上面则出现乱码.
/**//* create a context and add data */
VelocityContext context = new VelocityContext();
Object[] classNames=null;
// classNames.add("Jgss");
// classNames.add("Jgfs");
// classNames.add("Tcfj");
classNames=prop2List();
for(int i=0;i<classNames.length;i++ )...{
context.put("className", classNames[i]);
/**//* now render the template into a StringWriter */
StringWriter writer = new StringWriter();
t.merge( context, writer );
writeJavaFile(classNames[i]+"Action.java",writer.toString());
/**//* show the World */
// System.out.println( writer.toString() );
}
}
private static void writeJavaFile(String name, String str) ...{
try ...{
FileWriter fw = new FileWriter(new File(name), true);
BufferedWriter bw = new BufferedWriter(fw);
// 将读入的字符串写入到文件中
bw.write(str, 0, str.length());
bw.flush();
bw.close();
fw.close();
} catch (IOException e) ...{
System.out.println("Error-- :" + e.toString());
}
}
private static void loadProperties()...{
props = new Properties();
try ...{
props.load(Test.class.getResourceAsStream("action.properties"));
} catch (IOException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static Object[] prop2List()...{
loadProperties();
System.out.println(props.size());
if(props.isEmpty()) return null;
Object[] aa = props.values().toArray();
return aa;
}
}
部分Action.vm代码:
public ActionForward edit$...{className}(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception ...{
logger.debug("--- edit${className} start ---");
checkToken(request);
$...{className}Form $...{className.toLowerCase()}Form = ($...{className}Form)form;
action.properties:
A=Jaaas
B=Jbbbs
C=Tcccs
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
4. 使用Velocity模板引擎,将解析出的信息填入模板,生成Java源码。 5. 编译生成的Java文件,添加到Spring Boot项目中。 在`demo`这个文件中,可能包含了上述步骤的示例代码或者配置文件。通过学习和理解这个示例,...
Velocity 是一个开源的 Java 模板引擎,它允许开发者将静态页面内容与动态数据分离,使得开发者可以专注于业务逻辑,而设计师则可以专心于页面设计。Velocity1.4 是该引擎的一个版本,发布于较早时期,但其基本原理...
用户可以通过输入如数据库表名、字段信息等参数,自动生成与数据库相关的Java实体类、Mapper接口、XML配置文件、Service和Controller等代码。 以下是使用Java代码生成器时可能会涉及的一些核心知识点: 1. **模板...
- Spring Data JPA:Spring生态中的一个模块,可以基于Entity类自动创建CRUD操作的Repository接口,无需编写实现。只需定义实体类,其他由Spring Data自动处理。 - Entity Framework (Java版):类似.NET中的Entity ...
【标题】"使用Velocity Swing制作的代码生成工具"是一个基于Java Swing UI框架和Velocity模板引擎开发的代码自动化生成工具。这个工具旨在帮助开发者快速生成符合特定模式的代码,减轻重复劳动,提高开发效率。 ...
1. **实体类生成**:根据数据库表结构自动生成Java Bean或POJO。 2. **控制器和视图**:在Web开发中,基于RESTful API或MVC模式,自动生成路由和视图代码。 3. **配置文件**:如XML配置文件、YAML文件等,可以根据...
综上所述,“linyi.rar 使用Velocity生成代码”是一个利用 Velocity 的能力,结合数据库表结构,自动生成Java代码的实例。这种方法不仅提高了开发效率,也使得代码更规范、一致,有助于团队协作和项目维护。
Java源代码生成器是一种工具,它能够自动生成符合特定设计模式和规范的Java代码,极大地提高了开发效率。在这个特定的项目中,代码框架基于SpringMVC、MyBatis和Velocity这三个核心组件,构建了一个经典的三层架构...
- **反射API**:用于获取Java类的元数据,如字段名、类型等,辅助SQL语句的生成。 在实际使用中,一个名为"SQL生成器"的压缩包文件可能包含了以下内容: 1. **源代码**:Java类库,实现了上述的功能模块。 2. **...
在实际应用中,这类自动生成的代码可以帮助开发者快速搭建项目结构,减少重复工作,提高开发效率。 总的来说,这个“Velocity Demo”很可能是一个集成上述技术的示例项目,旨在演示如何在Java Web开发环境中有效地...
标题中的“java代码生成器”指的就是这样的工具,它可以自动化地生成Java代码。在实际开发过程中,开发者只需要提供必要的信息,如包名、类名、字段名等,代码生成器就会按照预设的规则生成相应的Java源文件。例如,...
它们提供了API或命令行工具,根据数据库元数据生成Java实体类、Mapper接口和XML配置文件。这些工具的核心是解析数据库表结构,然后生成符合特定模板的Java代码。 2. **工具使用**: - Hibernate Tools:它提供了一...
Java代码生成器MyBatis是一种高效实用的工具,它能够帮助开发者自动生成Java源代码,大大简化了基于MyBatis框架的开发工作。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。通过使用代码...
- **模板引擎**:然后,工具会使用模板引擎(如FreeMarker或Velocity)根据预定义的模板生成Java代码。模板可以定制,以满足不同项目或个人的编码风格。 - **生成实体类**:最后,根据获取的元数据和模板,工具...
Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态网页内容。Velocity将业务逻辑与表示逻辑分离,使得开发者可以专注于后端服务的开发,而设计人员则可以自由地创建用户界面。...
6. **任务调度**:如果需要定期或者在特定事件(如内容更新)后自动生成静态页,可以使用Java的定时任务框架,如Quartz或Spring的Scheduled Tasks。 7. **版本控制**:静态页的生成过程中可能会涉及多版本管理,...
在大型软件开发过程中,手动编写大量的Java Bean类可能会消耗大量时间和精力,因此,Java Bean自动生成系统应运而生,旨在通过自动化的方式减少这种重复性工作,提高开发效率。 设计一个Java Bean自动生成系统需要...
这些技术栈可以帮助我们快速搭建项目,并提供了许多有用的功能,例如支持中文输入和国际化插件、支持Velocity的插件工具类包等。 在项目中,我们可以使用ExportDB.java来生成Hibernate数据表,可以直接运行,这样...
4. **自动生成代码工具**:这类工具通常基于模板引擎,如Freemarker或Velocity,可以生成Java实体类、Mapper接口和XML配置文件等,根据数据库表结构自动创建对应的代码。这大大减少了手动编写这些基础代码的工作量,...
Velocity 模板语言是Apache软件基金会的一个开源项目,旨在提供一个灵活、模块化的模板引擎,可以用于生成静态或动态的文档、报表、邮件等。Velocity 模板语言的核心思想是将数据和模板分离,通过模板引擎将数据插入...