资源简介
自动构造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
- 上一篇:基于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++实现代码
评论
共有 条评论