• 大小: 12KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: Java
  • 标签: Java  

资源简介

自动构造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.xml
     文件          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\meta-INF\
     文件          39  2017-07-28 14:52  MyAutoMakeUtil\WebContent\meta-INF\MANIFEST.MF
     目录           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.xml
     目录           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

评论

共有 条评论