资源简介
自动构造Java的Bean类,暂时仅支持定义包名、类名、带参构造方法、成员变量及其对应的get和set方法,同eclipse里面该项功能,不过本项目是通过配置文件实现,可以根据自己的需要进行拓展,平时用起来省时省力。
代码片段和文件信息
package cf.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class AutoMakeGetSet {
private void myOut(String str){
System.out.print(str);
}
private void myOutln(String str){
System.out.println(str);
}
private void outBankLine(){
System.out.print(“\n“);
}
//控制每行输出的制表符数目
int myTabCount = 0;
private void addTab(){
myTabCount++;
}
private void decTab(){
myTabCount--;
}
private void outTabs(){
for(int i=0;i myOut(“\t“);
}
}
//将一个String字符串的首字母转为大写字母
private String changeInitialsToCapital(String str){
if(str == null || str.length() == 0){
return str;
}
StringBuilder result = new StringBuilder();
if(str.charAt(0) >= ‘a‘ && str.charAt(0) <= ‘z‘){
result.append((char)(str.charAt(0)+‘A‘-‘a‘));
}
else{
result.append(str.charAt(0));
}
for(int index=1;index result.append(str.charAt(index));
}
return result.toString();
}
public void makeGetSet(String propName){
Map members = new HashMap();
Properties prop=new Properties();
InputStream inputStream = AutoMakeGetSet.class.getClassLoader().getResourceAsStream(propName);
//读入要设置的成员变量
try {
prop.load(inputStream);
Setject> keys = prop.keySet();//返回属性key的集合
for(object key:keys){
String key_str = key.toString();
if(!(key_str.equals(“pkgName“)||key_str.equals(“className“))){
members.put(key.toString()prop.get(key).toString());
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//读入包名、类名等配置信息
String pkg = prop.getProperty(“pkgName““undefined“);
String className = prop.getProperty(“className““undefined“);;
myOutln(“package “ + pkg + “;“);
outBankLine();
myTabCount = 0;
outTabs();
myOutln(“public class “ + className + “{“);
addTab();
//设置成员变量的定义
for(Map.Entry entry : members.entrySet()){
outTabs();
myOutln(“private “ + entry.getValue()+“ “+entry.getKey()+“;“);
}
//定义类的初始化方法
outBankLine();
outTabs();
myOutln(“public “ + className + “(){}“);
//带参的构造方法构建
outBankLine();
outTabs();
myOut(“public “ + className + “(“);
List list = new ArrayList();
for(Map.Entry entry : members.entrySet()){
list.add(entry.getValue()+“ “+entry.getKey());
}
if(list.size()>0){ //一般来说肯定的
myOut(list.get(0));
}
for(int index=1;index if(index%4 == 0){
myOut(“\n“);
outTabs();
myOut(“\t“);
}
myOut(“ “ + list.get(index));
}
myOutln(“){“);
addTab();
for(Map.Entry
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-08-01 17:39 MyAutoMakeUtil\
文件 841 2017-07-28 14:52 MyAutoMakeUtil\.classpath
文件 1047 2017-07-28 14:52 MyAutoMakeUtil\.project
目录 0 2017-08-01 17:39 MyAutoMakeUtil\.settings\
文件 567 2017-07-28 14:52 MyAutoMakeUtil\.settings\.jsdtscope
文件 364 2017-07-28 14:52 MyAutoMakeUtil\.settings\org.eclipse.jdt.core.prefs
文件 494 2017-07-28 14:52 MyAutoMakeUtil\.settings\org.eclipse.wst.common.component
文件 345 2017-07-28 14:52 MyAutoMakeUtil\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2017-07-28 14:52 MyAutoMakeUtil\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2017-07-28 14:52 MyAutoMakeUtil\.settings\org.eclipse.wst.jsdt.ui.superType.name
目录 0 2017-08-01 17:39 MyAutoMakeUtil\WebContent\
目录 0 2017-08-01 17:39 MyAutoMakeUtil\WebContent\me
文件 39 2017-07-28 14:52 MyAutoMakeUtil\WebContent\me
目录 0 2017-08-01 17:39 MyAutoMakeUtil\WebContent\WEB-INF\
目录 0 2017-08-01 17:39 MyAutoMakeUtil\WebContent\WEB-INF\lib\
文件 660 2017-07-28 14:52 MyAutoMakeUtil\WebContent\WEB-INF\web.xm
目录 0 2017-08-01 17:39 MyAutoMakeUtil\build\
目录 0 2017-08-01 17:39 MyAutoMakeUtil\build\classes\
目录 0 2017-08-01 17:39 MyAutoMakeUtil\build\classes\cf\
目录 0 2017-08-01 17:39 MyAutoMakeUtil\build\classes\cf\util\
文件 5506 2017-08-01 17:35 MyAutoMakeUtil\build\classes\cf\util\AutoMakeGetSet.class
文件 548 2017-08-01 17:34 MyAutoMakeUtil\build\classes\cf\util\test.class
文件 300 2017-08-01 17:26 MyAutoMakeUtil\build\classes\test.properties
目录 0 2017-08-01 17:39 MyAutoMakeUtil\src\
目录 0 2017-08-01 17:39 MyAutoMakeUtil\src\cf\
目录 0 2017-08-01 17:39 MyAutoMakeUtil\src\cf\util\
文件 4102 2017-08-01 17:35 MyAutoMakeUtil\src\cf\util\AutoMakeGetSet.java
文件 286 2017-08-01 17:34 MyAutoMakeUtil\src\cf\util\test.java
文件 300 2017-08-01 17:26 MyAutoMakeUtil\src\test.properties
- 上一篇:基于java-web的图书管理系统带源码
- 下一篇:外文翻译 stus MVC
相关资源
- 基于java-web的图书管理系统带源码
- 大文件上传的javawebuploader包括前台和
- Java-保存计算过程的计算器
- SpringBoot集成Elasticsearch已实现各种ES操
- java 抽奖系统jar 完整版
- JSP 和 JavaBean连接sql server验证登录
- 基于JAVA的小区物业管理系统 论文
- eclipse 4.7 oxy folding 代码折叠 com.cb.ec
- 用eclipse写的贪吃蛇(java)
- java统计正文中关键字个数
- Javaweb版的图书管理系统
- java-client-1.2.1.jar
- Quartz动态修改时间,java实现修改Cro
- 文件加密解密算法(Java源码)
- java连接数据库工具类--DBConnection(j
- 学生信息管理系统(java+mysql)
- 中控考勤机java源码demo
- java编程思想第4版百度网盘
- SUN JAVA SL 275 实验题 答案
- java基于socket聊天室源代码.rar
- java socket超精美仿qq通信软件(mysql)
- linux上使用ffmpeg 实现视频截图
- Java3D魔方代码
- 用Java实现的DES加密算法
- Java课程设计 坦克大战 (源代码和实
- mysql5.0 jdbc 驱动
- java 上传图片生成缩略图
- java中table数据导出到excel中
- java银行管理系统(模拟ATM取款机)
- 服务端和客户端,java,C++实现代码
评论
共有 条评论