本人小白,在公司的项目中发现项目启动的时候会自动跳出swagger的测试文档的地址,觉得非常的方便;
于是看了一下是怎么实现的,
1,在启动类的main方法中,得到run方法的返回值ConfigurableApplicationContext对象application
,
2,使用application.getEnvironment()
方法从ConfigurableApplicationContext
实例中获取Environment
对象,将其赋值给env
变量。
3,使用InetAddress.getLocalHost().getHostAddress()
获取本地主机的IP地址的语句。 使用InetAddress
类能从本地主机上获取对应的网络地址。
4,使用String port = env.getProperty("server.port");
String path = env.getProperty("server.servlet.context-path");获得路径和端口,并使用日志进行输出
5,把异常UnknownHostException异常抛出
public static void main(String[] args) throws UnknownHostException {
//System.setProperty("spring.devtools.restart.enabled", "true");
ConfigurableApplicationContext application = SpringApplication.run(SpeechApplication.class, args);
Environment env = application.getEnvironment();
String ip = InetAddress.getLocalHost().getHostAddress();
String port = env.getProperty("server.port");
String path = env.getProperty("server.servlet.context-path");
log.info("\n----------------------------------------------------------\n\t" +
"Application Jeecg-Boot is running! Access URLs:\n\t" +
"Local: \t\thttp://localhost:" + port + path + "/\n\t" +
"External: \thttp://" + ip + ":" + port + path + "/\n\t" +
"Swagger文档: \thttp://" + ip + ":" + port + path + "/doc.html\n" +
"----------------------------------------------------------");
}