在启动类里加上如下方法:
@EventListener({ApplicationReadyEvent.class}) void applicationReadyEvent() { System.out.println("应用已经准备就绪 ... 启动浏览器"); String url = "http://localhost:8081"; Runtime runtime = Runtime.getRuntime(); try { runtime.exec("rundll32 url.dll,FileProtocolHandler " + url); } catch (IOException e) { e.printStackTrace(); } }
如果考虑端口号灵活配置的话,可以动态获取端口号:
/** * 获取当前机器的端口号 * * @return * @throws MalformedObjectNameException */ public static String getLocalPort() { MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer(); Set<ObjectName> objectNames = null; try { objectNames = beanServer.queryNames(new ObjectName("*:type=Connector,*"), Query.match(Query.attr("protocol"), Query.value("HTTP/1.1"))); String port = objectNames.iterator().next().getKeyProperty("port"); return port; } catch (MalformedObjectNameException e) { e.printStackTrace(); } return null; }
String url = "http://localhost:" + getLocalPort();
附录:
毕竟每次更新代码,重新启动都会弹出新的登录页面,也是挺不方便的,我们只是想启动完,刷新下页面就好了,所以再设置下 springboot 热加载方法:
这样改完代码后,只需要 Ctrl+s 保存下,就会触发重新编译不需要每次重启了(即使保存,也会定时自动触发)
这里有一点不太方便就是,代码没写完,有可能就自动编译了,看着控制台报错,会影响心情 😳 😳
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于