Java–自动生成SpringBoot工程代码的实体类
1、概述
属性清单
- 项目名称
- 包名
- 项目说明
- 作者
----包名拆分为路径----
- 路径1
- 路径2
- 路径3
- 完整路径
方法清单
-
构造方法
参数:项目名、包名、项目说明、作者
-
实体类转换为Map集合
说明:通过Java的反射机制,把实体类的信息转换为Map集合存储
2、代码实现
public class Settings {
private String project="example"; //项目名称
private String pPackage="com.example.demo";// 包名
private String projectComment; // 项目说明
private String author;// 作者
private String path1="com"; //路径1
private String path2="example"; //路径2
private String path3="demo"; //路径3
private String pathAll; // 完整路径
public Settings(String project, String pPackage, String projectComment, String author) {
if(StringUtils.isNotBlank(project)) {
this.project = project;
}
if(StringUtils.isNotBlank(pPackage)) {
this.pPackage = pPackage;
}
this.projectComment = projectComment;
this.author = author;
// 把包名拆分为路径(‘.’需要使用转义符号‘\’才能表示为字符串“.”,并且在IDEA中要用“\\”)
String[] paths = pPackage.split("\\.");
path1 = paths[0];
path2 = paths.length>1?paths[1]:path2;
path3 = paths.length>2?paths[2]:path3;
// 把包名转换为路径
pathAll = pPackage.replaceAll(".","/");
}
public Map<String, Object> getSettingMap(){
Map<String, Object> map = new HashMap<>();
// 获取Settings的class信息,并获得其中属性字段信息
Field[] declaredFields = Settings.class.getDeclaredFields();
for (Field field : declaredFields) {
// 允许访问‘private’修饰的字段
field.setAccessible(true);
try{
// 构造 key-value 键值对,表示 属性名-属性值,存入Map集合
map.put(field.getName(), field.get(this));
}catch (Exception e){}
}
return map;
}
}
- 补充说明
StringUtils
是字符串工具类,用来处理字符串操作,可以通过第三方依赖实现也可以自己编写