Skip to content

Commit 06e05ab

Browse files
committed
1. 通过InetAddress类动态获取主机的ip地址 2. 折叠 catch 块
1 parent 3316c98 commit 06e05ab

File tree

2 files changed

+103
-98
lines changed

2 files changed

+103
-98
lines changed

generator-web/src/main/java/com/softdev/system/generator/config/ServerConfig.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,33 @@
44
import org.springframework.boot.web.context.WebServerInitializedEvent;
55
import org.springframework.context.ApplicationListener;
66
import org.springframework.stereotype.Component;
7+
import java.net.Inet4Address;
8+
import java.net.InetAddress;
9+
import java.net.UnknownHostException;
710

811
/**
9-
* @Description 动态获取tomcat启动端口,控制台打印项目访问地址
12+
* @Description 通过实现ApplicationListener接口动态获取tomcat启动端口和访问路径,通过InetAddress类获取主机的ip地址,最后控制台打印项目访问地址
1013
* @Author Gao Hang Hang
1114
* @Date 2019-12-27 14:37
1215
**/
1316
@Component
1417
@Slf4j
1518
public class ServerConfig implements ApplicationListener<WebServerInitializedEvent> {
1619

17-
private int serverPort;
18-
private String serverPath;
19-
2020
@Override
2121
public void onApplicationEvent(WebServerInitializedEvent event) {
22-
this.serverPort = event.getWebServer().getPort();
23-
//新增动态path by zhengkai
24-
this.serverPath = event.getApplicationContext().getApplicationName();
25-
log.info("项目启动启动成功!访问地址: http://localhost:{}{}", serverPort,serverPath);
22+
try {
23+
InetAddress inetAddress = Inet4Address.getLocalHost();
24+
// 主机ip地址
25+
String hostAddress = inetAddress.getHostAddress();
26+
// tomcat启动端口
27+
int serverPort = event.getWebServer().getPort();
28+
// 新增动态path by zhengkai
29+
String serverPath = event.getApplicationContext().getApplicationName();
30+
log.info("项目启动启动成功!访问地址: http://{}:{}{}", hostAddress, serverPort, serverPath);
31+
} catch (UnknownHostException e) {
32+
e.printStackTrace();
33+
}
2634
}
2735

2836
}
Lines changed: 87 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,87 @@
1-
package com.softdev.system.generator.controller;
2-
3-
import com.alibaba.fastjson.JSON;
4-
import com.softdev.system.generator.entity.ClassInfo;
5-
import com.softdev.system.generator.entity.ParamInfo;
6-
import com.softdev.system.generator.entity.ReturnT;
7-
import com.softdev.system.generator.service.GeneratorService;
8-
import com.softdev.system.generator.util.CodeGenerateException;
9-
import com.softdev.system.generator.util.TableParseUtil;
10-
import freemarker.template.TemplateException;
11-
import lombok.extern.slf4j.Slf4j;
12-
import org.apache.commons.lang3.StringUtils;
13-
import org.springframework.beans.factory.annotation.Autowired;
14-
import org.springframework.stereotype.Controller;
15-
import org.springframework.web.bind.annotation.GetMapping;
16-
import org.springframework.web.bind.annotation.PostMapping;
17-
import org.springframework.web.bind.annotation.RequestBody;
18-
import org.springframework.web.bind.annotation.ResponseBody;
19-
20-
import java.io.IOException;
21-
import java.util.HashMap;
22-
import java.util.Map;
23-
24-
/**
25-
* spring boot code generator
26-
* @author zhengk/moshow
27-
*/
28-
@Controller
29-
@Slf4j
30-
public class IndexController {
31-
32-
@Autowired
33-
private GeneratorService generatorService;
34-
35-
@GetMapping("/")
36-
public String index() {
37-
return "index";
38-
}
39-
40-
@PostMapping("/genCode")
41-
@ResponseBody
42-
public ReturnT<Map<String, String>> codeGenerate(@RequestBody ParamInfo paramInfo ) {
43-
44-
try {
45-
46-
if (StringUtils.isBlank(paramInfo.getTableSql())) {
47-
return new ReturnT<>(ReturnT.FAIL_CODE, "表结构信息不可为空");
48-
}
49-
50-
// parse table
51-
ClassInfo classInfo = null;
52-
switch (paramInfo.getDataType()){
53-
//parse json
54-
case "json":classInfo = TableParseUtil.processJsonToClassInfo(paramInfo);break;
55-
//parse sql by regex
56-
case "sql-regex":classInfo = TableParseUtil.processTableToClassInfoByRegex(paramInfo);break;
57-
//default parse sql by java
58-
default : classInfo = TableParseUtil.processTableIntoClassInfo(paramInfo);break;
59-
}
60-
61-
// process the param
62-
Map<String, Object> params = new HashMap<String, Object>(8);
63-
params.put("classInfo", classInfo);
64-
params.put("tableName", classInfo==null?System.currentTimeMillis():classInfo.getTableName());
65-
params.put("authorName", paramInfo.getAuthorName());
66-
params.put("packageName", paramInfo.getPackageName());
67-
params.put("returnUtil", paramInfo.getReturnUtil());
68-
params.put("swagger", paramInfo.isSwagger());
69-
70-
//log the params
71-
//log.info(JSON.toJSONString(paramInfo));
72-
73-
log.info("generator table:"+(classInfo==null?"":classInfo.getTableName())
74-
+",field size:"+((classInfo==null||classInfo.getFieldList()==null)?"":classInfo.getFieldList().size()));
75-
76-
// generate the code 需要加新的模板请在里面改
77-
Map<String, String> result = generatorService.getResultByParams(params);
78-
79-
return new ReturnT<>(result);
80-
} catch (IOException | TemplateException e) {
81-
log.error(e.getMessage(), e);
82-
return new ReturnT<>(ReturnT.FAIL_CODE, e.getMessage());
83-
} catch (CodeGenerateException e) {
84-
log.error(e.getMessage(), e);
85-
return new ReturnT<>(ReturnT.FAIL_CODE, e.getMessage());
86-
}
87-
88-
}
89-
90-
}
1+
package com.softdev.system.generator.controller;
2+
3+
import com.alibaba.fastjson.JSON;
4+
import com.softdev.system.generator.entity.ClassInfo;
5+
import com.softdev.system.generator.entity.ParamInfo;
6+
import com.softdev.system.generator.entity.ReturnT;
7+
import com.softdev.system.generator.service.GeneratorService;
8+
import com.softdev.system.generator.util.CodeGenerateException;
9+
import com.softdev.system.generator.util.TableParseUtil;
10+
import freemarker.template.TemplateException;
11+
import lombok.extern.slf4j.Slf4j;
12+
import org.apache.commons.lang3.StringUtils;
13+
import org.springframework.beans.factory.annotation.Autowired;
14+
import org.springframework.stereotype.Controller;
15+
import org.springframework.web.bind.annotation.GetMapping;
16+
import org.springframework.web.bind.annotation.PostMapping;
17+
import org.springframework.web.bind.annotation.RequestBody;
18+
import org.springframework.web.bind.annotation.ResponseBody;
19+
20+
import java.io.IOException;
21+
import java.util.HashMap;
22+
import java.util.Map;
23+
24+
/**
25+
* spring boot code generator
26+
* @author zhengk/moshow
27+
*/
28+
@Controller
29+
@Slf4j
30+
public class IndexController {
31+
32+
@Autowired
33+
private GeneratorService generatorService;
34+
35+
@GetMapping("/")
36+
public String index() {
37+
return "index";
38+
}
39+
40+
@PostMapping("/genCode")
41+
@ResponseBody
42+
public ReturnT<Map<String, String>> codeGenerate(@RequestBody ParamInfo paramInfo ) {
43+
44+
try {
45+
46+
if (StringUtils.isBlank(paramInfo.getTableSql())) {
47+
return new ReturnT<>(ReturnT.FAIL_CODE, "表结构信息不可为空");
48+
}
49+
50+
// parse table
51+
ClassInfo classInfo = null;
52+
switch (paramInfo.getDataType()){
53+
//parse json
54+
case "json":classInfo = TableParseUtil.processJsonToClassInfo(paramInfo);break;
55+
//parse sql by regex
56+
case "sql-regex":classInfo = TableParseUtil.processTableToClassInfoByRegex(paramInfo);break;
57+
//default parse sql by java
58+
default : classInfo = TableParseUtil.processTableIntoClassInfo(paramInfo);break;
59+
}
60+
61+
// process the param
62+
Map<String, Object> params = new HashMap<String, Object>(8);
63+
params.put("classInfo", classInfo);
64+
params.put("tableName", classInfo==null?System.currentTimeMillis():classInfo.getTableName());
65+
params.put("authorName", paramInfo.getAuthorName());
66+
params.put("packageName", paramInfo.getPackageName());
67+
params.put("returnUtil", paramInfo.getReturnUtil());
68+
params.put("swagger", paramInfo.isSwagger());
69+
70+
//log the params
71+
//log.info(JSON.toJSONString(paramInfo));
72+
73+
log.info("generator table:"+(classInfo==null?"":classInfo.getTableName())
74+
+",field size:"+((classInfo==null||classInfo.getFieldList()==null)?"":classInfo.getFieldList().size()));
75+
76+
// generate the code 需要加新的模板请在里面改
77+
Map<String, String> result = generatorService.getResultByParams(params);
78+
79+
return new ReturnT<>(result);
80+
} catch (IOException | TemplateException | CodeGenerateException e) {
81+
log.error(e.getMessage(), e);
82+
return new ReturnT<>(ReturnT.FAIL_CODE, e.getMessage());
83+
}
84+
85+
}
86+
87+
}

0 commit comments

Comments
 (0)