Spring boot Banner和icon

SpringBoot3+Vue3+微信小程序医院预约挂号系统开发实战 RESTful API作为现代Web应用的核心架构风格,通过标准HTTP方法实现资源的增删改查操作,为前后端分离开发提供了统一接口规范。其原理基于无状态通信和资源导向设计,能够有效提升系统的可扩展性和维护性。在医疗信息化领域,这种架构技术价值显著,特别是在医院预约挂号等高频业务场景中,能够支撑多终端访问和分布式部署需求。结合SpringBoot3的自动配置和Vue3的响应式特性,开发团队可以快速构建稳定可靠的医疗管理系统。本系统采用SpringBoot3+Vue3技术栈,实现了从科室管理、医生排班到患者预约 阅读详情

Spring boot Banner和icon

上一节

上一节:Spring boot 基础web入门搭建

源码

源码链接地址

banner 和icon 就是做一些启动或者页面系统标识的作用;
首先创建一个web项目,如果不是很熟悉请参考上一节:Spring boot 基础web入门搭建 搭建

知识点:

  1. 自定义banner 和icon
  2. 初识 springboot 启动流程

Spring boot banner

springboot 自带的banner

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.6.RELEASE)

自定义banner
  1. 在resources 目录下创建banner.txt文件
  2. 制作banner
    banner 制作网站
  3. 修改banner.txt文件
${AnsiColor.BLUE}
${spring-boot.version}
${spring.application.name}
${info.name}
    _                             _         _
  /' )       _                   ( )       ( `\
/' /'       (_)   _ _    _      _| | _   _  `\ `\
<  <   (`\/')| | /'_` ) /'_`\  /'_` |( ) ( )   >  >
\  `\  >  < | |( (_| |( (_) )( (_| || (_) | /' /'
 `\__)(_/\_)(_)`\__,_)`\___/'`\__,_)`\___/'(_/'
 $可以获取配置文件中的信息,  ${AnsiColor.BLUE} 修改字体颜色   ${AnsiBackground.YELLOW}修改背景颜色

从新启动,日志打印

2.1.6.RELEASE
banner-demo
banner-icon-demo
     _                             _         _
   /' )       _                   ( )       ( `\
 /' /'       (_)   _ _    _      _| | _   _  `\ `\
<  <   (`\/')| | /'_` ) /'_`\  /'_` |( ) ( )   >  >
 \  `\  >  < | |( (_| |( (_) )( (_| || (_) | /' /'
  `\__)(_/\_)(_)`\__,_)`\___/'`\__,_)`\___/'(_/'
关闭banner

通过springapplication.setBannerMode 进行设置;banner.mode 有三种配置,off 关闭,console控制台,log 打印到日志;

  public static void main(String[] args) {

//        ConfigurableApplicationContext run = SpringApplication.run(ApplicationStart.class, args);
        SpringApplication springApplication = new SpringApplication();
        springApplication.setBannerMode(Banner.Mode.OFF);
        springApplication.addPrimarySources(Stream.of(ApplicationStart.class).collect(Collectors.toList()));
        springApplication.run(args);

    }
使用图片充当banner
resources 目录下创建banner.jpg,  默认支持 { "gif", "jpg", "png" } 这几种格式 
源码分析

启动入口 springApplication.run 方法 > pringtBanner(environment)

private Banner printBanner(ConfigurableEnvironment environment) {
		if (this.bannerMode == Banner.Mode.OFF) {
			return null;
		}
		ResourceLoader resourceLoader = (this.resourceLoader != null) ? this.resourceLoader
				: new DefaultResourceLoader(getClassLoader());
		// 使用SpringApplicationBannerPrinter 进行打印
		SpringApplicationBannerPrinter bannerPrinter = new SpringApplicationBannerPrinter(resourceLoader, this.banner);
		if (this.bannerMode == Mode.LOG) {
			return bannerPrinter.print(environment, this.mainApplicationClass, logger);
		}
		return bannerPrinter.print(environment, this.mainApplicationClass, System.out);
	}

bannerPrinter.print

	public Banner print(Environment environment, Class<?> sourceClass, Log logger) {
		Banner banner = getBanner(environment);
		try {
			logger.info(createStringFromBanner(banner, environment, sourceClass));
		}
		catch (UnsupportedEncodingException ex) {
			logger.warn("Failed to create String for banner", ex);
		}
		return new PrintedBanner(banner, sourceClass);
	}

getBanner, 默认使用的是 SpringBootBanner

	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.printBanner(environment, sourceClass, out); 打印到控制台

Spring boot icon

在resources 目录下加入自己的favicon.ico 即可更改;springboot提供了这些静态资源路径都是可以的

{ “classpath:/META-INF/resources/”,“classpath:/resources/”, “classpath:/static/”, “classpath:/public/” }

源码分析

重要类: WebMvcAutoConfiguration
这里就提现了 springboot 自动装配的特点
在WebMvcAutoConfiguration中找到 FaviconConfiguration静态内部类

@Configuration
		@ConditionalOnProperty(value = "spring.mvc.favicon.enabled", matchIfMissing = true)
		public static class FaviconConfiguration implements ResourceLoaderAware {

			private final ResourceProperties resourceProperties;

			private ResourceLoader resourceLoader;

			public FaviconConfiguration(ResourceProperties resourceProperties) {
				this.resourceProperties = resourceProperties;
			}

			@Override
			public void setResourceLoader(ResourceLoader resourceLoader) {
				this.resourceLoader = resourceLoader;
			}

			@Bean
			public SimpleUrlHandlerMapping faviconHandlerMapping() {
				SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
				mapping.setOrder(Ordered.HIGHEST_PRECEDENCE + 1);
				mapping.setUrlMap(Collections.singletonMap("**/favicon.ico", faviconRequestHandler()));
				return mapping;
			}

			@Bean
			public ResourceHttpRequestHandler faviconRequestHandler() {
				ResourceHttpRequestHandler requestHandler = new ResourceHttpRequestHandler();
				requestHandler.setLocations(resolveFaviconLocations());
				return requestHandler;
			}

			private List<Resource> resolveFaviconLocations() {
				String[] staticLocations = getResourceLocations(this.resourceProperties.getStaticLocations());
				List<Resource> locations = new ArrayList<>(staticLocations.length + 1);
				Arrays.stream(staticLocations).map(this.resourceLoader::getResource).forEach(locations::add);
				locations.add(new ClassPathResource("/"));
				return Collections.unmodifiableList(locations);
			}

		}

	}

这里通过了SimpleUrlHandlerMapping 进行了路径的映射

下一节

下一节:Spring boot 配置文件和ymal结构

SpringBoot+微信小程序咖啡点单系统开发实战与前后端分离架构解析 前后端分离架构是现代Web应用开发的核心模式,通过将前端界面与后端业务逻辑解耦,实现了开发效率和应用可维护性的双重提升。其技术原理基于RESTful API进行数据交互,前端负责用户界面渲染,后端专注于业务处理和数据持久化。在工程实践中,SpringBoot作为Java后端开发的优选框架,提供了快速构建RESTful服务的完整生态。结合微信小程序这一轻量级前端载体,可以快速搭建面向餐饮行业的数字化解决方案。咖啡点单系统正是这种技术组合的典型应用场景,通过商品管理、购物车状态维护、订单处理等核心模块,实现了从 阅读详情

相关推荐

自动化资产漏洞扫描工具:从攻击面管理到一键式安全评估

攻击面管理(ASM)是网络安全领域的核心概念,指持续发现、评估和监控组织数字资产的过程。其原理在于通过自动化工具整合资产发现、服务识别与漏洞检测,形成标准化数据流,从而提升安全运营效率。在技术价值上,这种自动化方案能显著减少人工操作,实现从子域名收集、端口扫描到漏洞检测的全流程覆盖。应用场景广泛,包括红队评估、日常资产巡检和渗透测试。本文聚焦于如何利用Nuclei等工具构建高效的一键式资产漏洞扫描系统,解决工具链拼接的痛点,并深入探讨指纹识别与智能调度策略,以应对日益复杂的网络威胁。

weixin_34214500的博客 467

Spring Boot设置Logo icon favicon

1. 将ico文件命名为:favicon.ico 2. 将“favicon.ico”放到“static” 或者 "resources"文件夹下,不需要额外设置

aloner_csdn的博客 614

Cursor 3.0零代码APP开发:AgentEdit+Composer实现自然语言造应用

RESTful API 是现代移动开发的事实标准,它定义了客户端与服务端之间清晰、可预测的交互契约;而 Jetpack Compose 作为 Android 官方推荐的声明式UI框架,正逐步取代传统XML布局。当这两者被深度集成进智能开发范式,便催生出无需手写Java/Kotlin即可构建可上架安卓APP的新路径。Cursor 3.0 的核心突破在于将自然语言需求自动映射为符合 RESTful 规范的网络调用与 Compose 声明式界面逻辑,通过 AgentEdit 触发、Composer 模型调度,把开

488

springboot-iconfont图标如何使用?

springboot-iconfont图标如何使用? 第一步:进入iconfont-阿里巴巴矢量图标库,选择想要的图标加入购物车 第二步:进入购物车点击下载代码 第三步:下载解压好之后将这五个文件粘贴到项目中,如下: 第四步:然后在html文件中导入iconfont.css文件,并且让图标显示出来,如下: <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"&gt...

m0_52433668的博客 626

无头电商实战:从解耦架构到人本体验的落地路径

无头电商(Headless E-commerce)是一种以API为纽带、前后端运行时彻底解耦的现代电商架构范式,其核心原理在于通过契约化接口(如OpenAPI)、事件驱动通信与职责分离,实现业务逻辑与呈现层的松耦合。这种架构的技术价值不仅在于提升系统可维护性与多端一致性,更关键的是支撑实时数据协同、动态体验组装与运营自治能力,从而在直播购物、大促首页、跨端库存同步等高敏场景中显著降低用户流失、加速业务试错。本文聚焦真实项目中验证的渐进式解耦策略、内容建模方法与SSR/SSG+边缘计算性能实践,尤其深入解析契

weixin_38166557的博客 475

【SpringBoot】42、SpringBoot中自定义Favicon

一、介绍 所谓 favicon,即 Favorites Icon 的缩写,顾名思义,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站。当然,这不是 Favicon 的全部,根据浏览器的不同,Favicon 显示也有所区别:在大多数主流浏览器如 FireFox 和 Internet Explorer (5.5及以上版本)中,favicon 不仅在收藏夹中显示,还会同时出现在地址栏上,这时用户可以拖曳 favicon 到桌面以建立到网站的快捷方式;除此之外,标签式浏览器甚至还有不少扩

JACKAL 20万+

SpringBoot如何设置网页图标favicon.ico

1.首先把你喜欢的图片放项目的静态文件夹下并重命名favicon.ico。2.清理并重新打包项目。3.运行项目 成功!

weixin_52536274的博客 1474

SpringBoot自定义favicon.ico图标配置

在使用SpringBoot开发Web应用时,我们经常需要为应用设置一个自定义的favicon.ico图标。通过以上简单的配置,你可以很容易地在SpringBoot应用中实现自定义的favicon.ico图标。现在,你应该能够在浏览器中看到你自定义的favicon.ico图标。这只是最简单的配置方式,如果你有更复杂的需求,你可以通过自定义配置类来实现。保存配置类后,重新启动应用程序,你的自定义favicon.ico图标应该正常显示。方法,我们将favicon.ico图标的路径映射到静态资源目录下的。

TechChamp的博客 2243

基于Spring Boot与微信小程序的智慧乡村旅游预约系统开发实战

预约挂号系统作为一种高效管理有限资源、优化服务流程的数字化解决方案,其核心原理在于将线下排队等待的服务转化为线上可预约、可管理的标准化流程。这一模式在医疗、政务等领域已广泛应用,其技术价值在于通过数字化手段打破信息壁垒,提升服务效率与用户体验。随着移动互联网的普及,微信小程序凭借其轻量、即用即走和强大的社交属性,成为实现此类系统、直达海量用户的理想载体。在乡村旅游等线下服务场景中,整合预约挂号理念,能够有效解决信息孤岛、服务效率低下等痛点。本文以智慧乡村旅游服务平台为例,详细拆解了如何利用Spring Bo

weixin_34007906的博客 517

SpringBoot启动图标修改

Springboot启动logo更改,选择文本或者图片方式

智能检查点优化:动态频率与差异化存储的断点续训实践(模型训练丨容错机制丨人工智能)

本文深入探讨了大规模模型训练中智能检查点优化的核心实践。针对传统固定频率保存导致的存储浪费与恢复缓慢问题,提出了基于损失变化率的动态频率算法与分层差异化存储策略。通过PyTorch代码示例,详细展示了如何实现动态调度与增量保存,有效降低存储成本,并确保训练中断后能快速、可靠地恢复,显著提升训练任务的容错能力与经济效益。

weixin_29072299的博客 333

微信小程序外卖商城全栈开发:从源码解析到二次开发部署实战

微信小程序开发已成为移动应用开发的重要领域,其核心在于前后端分离架构与数据交互。从技术原理上看,小程序前端通过WXML/WXSS构建视图层,结合JavaScript处理逻辑,并利用wx.request等API与后端服务通信。后端服务则负责业务逻辑处理、数据存储与支付等关键功能,常采用Spring Boot、Node.js或云开发等技术栈实现。这种架构模式的技术价值在于能够快速构建跨平台应用,实现高效的业务闭环。在应用场景上,外卖商城类小程序尤为典型,它集成了用户系统、商品管理、订单流程与支付等核心模块,对学

weixin_30706691的博客 292

关于Kswapd的理解(一)

关于Kswapd的理解(一) 之前跟踪了MemAvailable的计算方式,其中watermark的计算花了很多精力,在学习的过程中看到一些资料中说watermark是给swapd使用的,于是乎,研究一下看看咯 本部分主要记录两个方面: 对于kswapd这个东西,从初学者(我)的角度出发会考虑哪些内容? 跟踪kswapd 初始化结构部分; 1. KSwapd机制 上图是还没有跟踪kswapd code的时候,对自己提出的一些疑问和自身的理解,主要是如下内容: kswapd 机制用来做什么:内存不足时

And乔的博客 2712

JP4-1-1-MyLesson项目简介

MyLesson项目简介,包括项目介绍,权限介绍,环境介绍,技术栈介绍,环境初始化操作,数据库表的创建等。

周航宇的博客 2948

NE555构成多谐振荡器及三角波、正弦波的生成(附工程文件)

NE555构成多谐振荡器及三角波、正弦波的生成 续上一篇:NE555基本原理及相关公式的推导

qq_49979053的博客 5万+

数字IC后端实战:如何用ICC搞定复杂模块的floorplan与powerplan(附避坑指南)

本文深入解析数字IC后端设计中复杂模块的floorplan与powerplan实战技巧,重点介绍多边形模块边界处理、MTCMOS电源网络优化及存储器摆放陷阱规避。通过Synopsys ICC工具的具体操作示例和项目实战经验,帮助工程师高效解决设计难题,提升芯片性能与可靠性。

weixin_29213525的博客 349

第3章 从0开始用若依

若依(RuoYi)框架是一款基于Spring Boot、Spring Cloud等开源框架搭建的企业级开发平台。它的主要目标是提供全面的解决方案,以简化企业级应用开发提高开发效率。模块化设计:若依框架采用模块化的设计,使得应用可以根据需求进行灵活的扩展和定制。每个模块都可以独立部署和升级,这大大提高了系统的可维护性和可扩展性。前后端分离:框架采用前后端分离的开发模式,后端专注于数据处理和API接口的提供,前端则负责页面的展示和用户交互。这种模式使得前后端职责明确,进一步提高了开发效率和代码的可维护性。

m0_73919023的博客 284

引入 CloudWeGo 后飞书管理后台平台化改造的演进史

飞书管理后台是飞书套件专为企业管理员提供的信息管理平台,它通过引入 Kitex 泛化调用对飞书管理后台进行平台化改造,成为了企业统一数字化管理平台。本文将从三个方面为大家讲解 Kitex 泛化调用在飞书管理后台平台化改造过程中的落地实践。...

weixin_44186218的博客 1762

JP4-1-3-MyLesson用户服务

MyLesson用户微服务后台代码

周航宇的博客 1828

Rk3128投影仪救砖操作和固件分享思路

大家搞一条比较硬的东西,插入耳机口,就可以进入刷机模式了的,我的机器是这样的,大家也可以试试。(看不懂可以往下看)

MMX7088的博客 1万+

STM32开发 -- GPIO详解

之前有简单讲过GPIO工作模式和寄存器,还是有点没搞明白。这次需要全方位的看一下了。 一、数据手册 1、STM32F105RC引脚说明 可知:STM32F105RC 一共有4组IO口 一共16X3+3=51个IO GPIOA0~A15 GPIOB0~B15 GPIOC0~C15 GPIOD0~D2 2、程序定义 GPIO端口号 STM32F1...

不积跬步,无以至千里 5万+

JP4-1-2-MyLesson公共服务

开发项目ml-common(全局通用辅助类 + 组件类 + 配置类 + 工具类),开发项目ml-generator(生成后台代码),开发项目ml-gateway(跨域 + 鉴权),开发项目ml-barrage(搭建弹幕服务器)等。

周航宇的博客 1730

Python爬虫实战:利用最新技术高效爬取百度贴吧帖子内容

本文将详细介绍如何使用Python最新技术栈构建一个高效的百度贴吧爬虫,包括requests-html异步请求、BeautifulSoup4解析、数据存储到MongoDB以及应对反爬机制等完整解决方案。文章包含5000余字详细教程和完整代码实现。网络爬虫(Web Crawler)是一种自动获取网页内容的程序,广泛应用于搜索引擎、数据分析和内容聚合等领域。Python凭借其丰富的库生态系统成为爬虫开发的首选语言。贴吧作为中文互联网最大的兴趣社区,包含大量有价值的UGC内容。动态加载内容处理登录状态维持。

2201_76125261的博客 540

SpringBoot+微信小程序毕业设计实战:快速构建校园零食电商系统

在软件开发领域,微服务架构和前后端分离已成为构建现代Web应用的主流范式。其核心原理在于将复杂的单体应用拆分为独立部署、松耦合的服务,前端与后端通过RESTful API进行数据交互,从而提升系统的可维护性、可扩展性和开发效率。这种架构模式的技术价值在于能够快速响应业务变化,支持团队并行开发。典型的应用场景包括电商平台、社交应用和企业级管理系统。本文聚焦于一个具体的工程实践案例——校园零食电商系统,深入探讨如何运用SpringBoot框架与微信小程序生态,实现一个包含用户、商品、订单等经典模块的完整闭环应用

weixin_33778544的博客 378

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

红队实战:信息收集从侦察到资产测绘的工程化流程

信息收集是网络安全攻防对抗中的基础环节,其本质是侦察而非攻击,核心在于以低噪音方式全面绘制目标的数字资产地图。从技术原理上看,它遵循从被动到主动、从外部到内部的工程化流程,综合利用证书透明度日志、DNS历史记录、网络空间测绘引擎等公开情报源进行被动侦察,再通过可控的主动探测验证资产存活与细节。这一过程的技术价值在于为后续的漏洞探测、权限提升等深度测试提供精准的“作战地图”,避免盲目扫描导致的效率低下或触发告警。在应用场景上,它广泛应用于渗透测试、红队演练和攻击面管理。本文聚焦于实战,详细拆解了以子域名发现、

weixin_30279315的博客 436

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

腾讯Miora AI设计API集成实战:自动化生成技术博客封面图

AI图像生成技术,特别是基于扩散模型和生成对抗网络(GAN)的模型,正深刻改变着内容创作与设计工作流。其核心原理是通过学习海量数据分布,将文本描述转化为高质量视觉内容,从而大幅降低专业设计门槛、提升生产效率。这一技术价值在于赋能开发者与内容创作者,实现设计能力的工程化与自动化。在实际应用场景中,AI设计API可无缝集成至博客系统、CMS或CI/CD流水线,实现按需生成营销素材、文章配图等。本文以腾讯Miora为例,详细解析如何通过Python调用其文生图API,构建一个自动化生成技术博客封面图的工具,涵盖环

weixin_34248705的博客 391

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: Spring boot 基础web入门搭建
下一篇: Spring boot 配置文件读取和yaml结构
xiaoduup
博客等级 码龄9年 23粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值