资源简介
自动构造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的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
川公网安备 51152502000135号
评论
共有 条评论