Spring Boot 启动优化
启动引导
确保你是Web项目
实例
@SpringBootApplication
public class RunApp extends SpringBootServletInitializer {
//实现configure方法
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(this.getClass());
}
//入口
public static void main(String[] args) throws UnknownHostException {
ConfigurableApplicationContext application = SpringApplication.run(RunApp.class, args);
logInfo(application);
}
//打印
public static void logInfo(ConfigurableApplicationContext application) throws UnknownHostException {
Environment env = application.getEnvironment();
//获取配置的端口
//IPUtil.getServerIp()获取本机IP,本机使用Hutool工具
String port = env.getProperty("server.port");
System.out.println("\n----------------------------------------------------------\n\t" +
"Application Boot is running! Access URLs:\n\t" +
"API 文档: \n\t" +
"\thttp://"+ "127.0.0.1" +':' + port + "/doc.html#\n\t" +
"\thttp://"+ IPUtil.getServerIp() +':' + port + "/doc.html#\n\t" +
"----------------------------------------------------------"
);
}
}
说明
- 继承SpringBootServletInitializer类
- 实现configure方法
- 修改入口内容
- 自定义打印内容方法
效果
----------------------------------------------------------
Application Boot is running! Access URLs:
API 文档:
http://127.0.0.1:8010/doc.html#
http://192.168.137.1:8010/doc.html#
----------------------------------------------------------
自定义启动banner图标
自定义banner只需要在resource下新建一个banner.txt文件,将我们需要的banner字样放进去,启动的时候就会去读取使用这个文本文件中的banner。
控制Banner样式
Spring提供了三个枚举类来设定字符的颜色,分别是:
AnsiColor: 用来设定字符的前景色
AnsiBackground: 用来设定字符的背景色
AnsiStyle: 用来控制加粗、斜体、下划线等等。
使用${AnsiFoo.Bar}来指定样式,当指定样式的时候会有提示的。
且可以给每部分写具体的样式:指定了颜色之后直到下次指定之前的字符都是FooColor颜色的。
显示应用信息
除了上面的指定样式之外,还可以显示一些与应用相关的版本信息:
${application.version} 与MANIFEST.MF文件中相同的版本号,比如1.5.4.RELEASE
${application.formatted-version} 格式化过的版本号就是加个v然后用括号包起来,比如(v1.5.4.RELEASE)
${application.title}
${spring-boot.version} Spring Boot的版本
${spring-boot.formatted-version} 格式化过的版本
控制banner是否开启,输出位置
设置banner mode为OFF关闭banner:
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class RunApp {
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(RunApp.class);
springApplication.setBannerMode(Banner.Mode.OFF);
springApplication.run(args);
}
}
几个常用的字符画生成网站
-
http://www.network-science.de/ascii/ 这个是比较常用的,可以根据输入的字符生成字符画
-
http://patorjk.com/software/taag/
-
https://www.degraeve.com/img2txt.php 可以根据在线的图片网址生成字符画,比如可以直接将公司logo的地址粘贴进去生成字符画,风格还算正常…
自定义为gif动图
打开网址:https://giphy.com/ 搜索 ascii
点击任意gif进行下载
然后将下载下来的 .gif文件复制到resources/目录下改名名为banner.gif即可
注意,如此操作在ide中无法实现动图动态展示,我们需要在命令行中启动项目,两种方式都可以:
-
切换到项目目录中 mvn springboot:run
-
切换到项目目录中 mvn install,切换到 target目录 java -jar 打包好的项目