大家在做springboot项目时,启动项目,控制台都会打印spring的默认的banner:
1 2 3 4 5 6 7
| . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.3.RELEASE)
|
在翻看springboot启动源码时发现,看到了打印banner的代码,支持自定义banner,而且也比较方便。
1 2 3 4 5 6 7 8 9 10 11 12
| private Banner getBanner(Environment environment) { Banners banners = new Banners(); banners.addIfNotNull(getImageBanner(environment)); banners.addIfNotNull(getTextBanner(environment)); if (banners.hasAtLeastOneBanner()) { return banners; } if (this.fallbackBanner != null) { return this.fallbackBanner; } return DEFAULT_BANNER; }
|
从获取banner的代码可以看出,先获取图片banner,再获取文本banner,如果都没获取到,使用默认banner。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| private Banner getImageBanner(Environment environment) { String location = environment.getProperty(BANNER_IMAGE_LOCATION_PROPERTY); if (StringUtils.hasLength(location)) { Resource resource = this.resourceLoader.getResource(location); return resource.exists() ? new ImageBanner(resource) : null; } for (String ext : IMAGE_EXTENSION) { Resource resource = this.resourceLoader.getResource("banner." + ext); if (resource.exists()) { return new ImageBanner(resource); } } return null; }
|
获取图片banner的代码中,会从
spring.banner.image.location
属性中获取图片所在位置,如果无该属性值,会去src/main/resources路径下找banner.“gif”, “jpg”, “png”文件。
1 2 3 4 5 6 7 8 9
| private Banner getTextBanner(Environment environment) { String location = environment.getProperty(BANNER_LOCATION_PROPERTY, DEFAULT_BANNER_LOCATION); Resource resource = this.resourceLoader.getResource(location); if (resource.exists()) { return new ResourceBanner(resource); } return null; }
|
如上获取文本banner代码中,从
spring.banner.location
属性中获取文本banner的位置,没有配置该属性的话,默认为src/main/resources路径下的banner.txt。
1、自定义文本banner
按照上述分析,我们在src/main/resources下新建banner.txt文件,banner的内容我们可以使用工具生成,
推荐网站: http://patorjk.com/software/taag/
生成自定义banner:
将生成的banner copy到banner.txt文件中,补充内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13
| _ _ _ (_) (_) | | _ _ _ _ _ _ ___| |_ __ _ _ __ | | | | | | | | / __| __/ _` | '__| | |_| | | |_| | \__ \ || (_| | | \__, |_|\__, |_|___/\__\__,_|_| __/ | __/ | |___/ |___/ :::::::::::::::::::::::::::::::::::::: author: yiyistar email: xxxx@qq.com ::::::::::::::::::::::::::::::::::::::
|
在application.properties添加如下内容(可选):
1
| spring.banner.location=banner.txt
|
启动springboot,控制台打印如下:
2、自定义图片banner
在application.properties添加如下内容:
1 2 3 4 5 6
| spring.banner.image.location=banner.jpg
spring.banner.image.height=15
spring.banner.image.width=45
|
将制作好的 banner.jpg 加入到src/main/resources文件夹下。启动springboot,控制台打印如下:
如果将banner.jpg 和 banner.txt都放在src/main/resources下,启动时都会打印。