Springboot居然可以设置动态的Banner(推荐)
先给小火伴们留个悬念 嘿嘿 文末有神秘代码~ (大家可以猜猜用来干嘛滴先!)
嘿嘿 不知道过年这两天大家过得怎样呀~
比如
春晚抢到了多少红包呀?😄
有木有和喜欢的人一起跨年呀ヾ(≧▽≦*)o 😝
吃腻了大鱼大肉没~ 😄
开始学习了没 😊
拿五杀了没 😜
当然 起码你看到这篇文章的时候已经在小小学习下了 哈哈哈~
正题开始啦~
牛年啦~ 咋们也研究下怎么给我们滴 IDEA 添加点 过年滴气氛,像这样
Spring boot 源码 之 Banner
源码看起来 <( ̄︶ ̄)[GO!]
Springboot
启动时,会先去创建SpringApplication
对象 。
SpringApplication
构造器
指定banner的模式
Banner
函数式接口
这里有三种模式
run
方法
创建banner对象
进入上图红框中,可以看到这里如果不是 OFF 模式的话会去创建 SpringApplicationBannerPrinter
对象
可以看到该类中还定义了 图片的类型(居然还支持 gif
!)~ 😝
接着来到下面这段源码,可以看到这里只是 输出流的不同 ,即 打印到控制台或者日志文件中
return this.bannerMode == Mode.LOG ? bannerPrinter.print(environment, this.mainApplicationClass, logger) : bannerPrinter.print(environment, this.mainApplicationClass, System.out);
print
源码
获取Banner
getBanner
源码
获取Banner
getImageBanner
源码
这里会先 按顺序 去搜索 gif,jpg,png
有的话就立刻返回了,不会继续往下搜寻了~
image
路径的话也可以自己配置,设置的话默认在 resources
文件夹下面~
不知道有没有小伙伴一样很好奇这个 banner.gif
打印出来啥样子 哈哈哈哈~
4ye 这里弄了一个只有三帧的 gif
图 (太多帧的话会打印个没完没了的 哈哈哈😝) 效果如下~
到此这篇关于Springboot居然可以设置动态的Banner的文章就介绍到这了,更多相关Springboot设置动态的Banner内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
详解SpringBoot基础之banner玩法解析
SpringBoot项目启动时会在控制台打印一个默认的启动图案,这个图案就是我们要讲的banner.看似简单的banner,我们能够对它做些什么呢?本篇文章就带大家深入了解一下banner的使用(版本:SpringBoot2.1.4). 制作自己的banner 第一步:在src/main/resources下面创建banner.txt. 第二步:访问网站 http://patorjk.com/software/taag,在网站"Type Something "处输入想要制作的单词(比如
-
浅谈SpringBoot集成Quartz动态定时任务
SpringBoot自带schedule 沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务 注意在程序启动的时候加上@EnableScheduling @Scheduled(cron="0/5 * * * * ?") public void job(){ System.out.println("每五秒执行一次"); } 为什么要使用Quartz 多任务情况下,quartz更容易管理,可以实现动态配置 执行时间表达式: 表达式示例: 集成
-
SpringBoot之Banner的使用示例
背景 初次运行SpringBoot的小伙伴想必对于SpringBoot打印的Banner很感兴趣 Spring Boot在启动项目时,控制台会打印一个Spring的logo.如果不做任何配置 该信息来源于SpringBootBanner类的静态常量BANNER,该属性是一个字符串数组,不指定任何banner属性时,控制台默认输出该数组数据.我们可以通过Spring Boot提供的强大配置功能来改变banner的输出. 通常长成这样 一个Spring扑面而来~ 那么我们能否定制自己的启动页呢? 源
-
基于Springboot执行多个定时任务并动态获取定时任务信息
简介 因为一些业务的需要所有需要使用多个不同的定时任务,并且每个定时任务中的定时信息是通过数据库动态获取的.下面是我写的使用了Springboot+Mybatis写的多任务定时器. 主要实现了以下功能: 1.同时使用多个定时任务 2.动态获取定时任务的定时信息 说明 因为我们需要从数据库动态的获取定时任务的信息,所以我们需要集成 SchedulingConfigurer 然后重写 configureTasks 方法即可,调用不同的定时任务只需要通过service方法调用不用的实现返回对应的定时任
-
SpringBoot整合MyBatisPlus配置动态数据源的方法
MybatisPlus特性 •无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 •损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 •强大的 CRUD 操作:内置通用 Mapper.通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 •支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 •支持多种数据库:支持 MySQL.MariaDB.Ora
-
Springboot居然可以设置动态的Banner(推荐)
先给小火伴们留个悬念 嘿嘿 文末有神秘代码~ (大家可以猜猜用来干嘛滴先!) 嘿嘿 不知道过年这两天大家过得怎样呀~ 比如 春晚抢到了多少红包呀?
-
SpringBoot设置动态定时任务的方法详解
之前写过文章记录怎么在SpringBoot项目中简单使用定时任务,不过由于要借助cron表达式且都提前定义好放在配置文件里,不能在项目运行中动态修改任务执行时间,实在不太灵活. 经过网上搜索学习后,特此记录如何在SpringBoot项目中实现动态定时任务. 因为只是一个demo,所以只引入了需要的依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <ar
-
SpringBoot项目启动时增加自定义Banner的简单方法
目录 前言 制作Banner 总结 前言 最近有小伙伴推荐给博客启动的时候加上自定义Banner,开始我还不太明白他说的是那部分,后面给我发了这样一个文件,陌溪瞬间就懂了 //////////////////////////////////////////////////////////////////// // _ooOoo_ // //
-
详解SpringBoot配置文件启动时动态配置参数方法
序言 当我们要同时启用多个项目而又要使用不同端口或者变换配置属性时,我们可以在配置文件中设置${变量名}的变量来获取启动时传入的参数,从而实现了动态配置参数,使启用项目更加灵活 例子 server: port: ${PORT:50101} #服务端口 spring: application: name: xc‐govern‐center #指定服务名 eureka: client: registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中 fetchReg
-
SpringBoot之通过BeanPostProcessor动态注入ID生成器案例详解
在分布式系统中,我们会需要 ID 生成器的组件,这个组件可以实现帮助我们生成顺序的或者带业务含义的 ID. 目前有很多经典的 ID 生成方式,比如数据库自增列(自增主键或序列).Snowflake 算法.美团 Leaf 算法等等,所以,会有一些公司级或者业务级的 ID 生成器组件的诞生.本文就是通过 BeanPostProcessor 实现动态注入 ID 生成器的实战. 在 Spring 中,实现注入的方式很多,比如 springboot 的 starter,在自定义的 Configuratio
-
springboot连接redis并动态切换database的实现方法
众所周知,redis多有个db,在jedis中可以使用select方法去动态的选择redis的database,但在springboot提供的StringRedisTemplate中确,没有该方法,好在StringRedisTemplate预留了一个setConnectionFactory方法,本文主为通过修改ConnectionFactory从而达到动态切换database的效果. springboot连接redis pom.xml文件中引入spring-boot-starter-redis,
-
使用FeignClient设置动态Url
目录 FeignClient设置动态Url 1. 需求描述 2. 实现方案 3. 细节分析 FeignClient注解配置url属性实现指定服务方 FeignClient设置动态Url 1. 需求描述 一般情况下,微服务内部调用都是通过注册中心,eureka,zookeeper,nacos等实现动态调用,但是对于一些外部http调用,对于不在同一微服务内,不在同一注册中心的服务调用,可以考虑SpringCloudOpenFeign,而且可以实现动态URL,通过参数动态控制. 2. 实现方案 服务
-
SpringBoot使用Shiro实现动态加载权限详解流程
目录 一.序章 二.SpringBoot集成Shiro 1.引入相关maven依赖 2.自定义Realm 3.Shiro配置类 三.shiro动态加载权限处理方法 四.shiro中自定义角色与权限过滤器 1.自定义uri权限过滤器 zqPerms 2.自定义角色权限过滤器 zqRoles 3.自定义token过滤器 五.项目中会用到的一些工具类常量等 1.Shiro工具类 2.Redis常量类 3.Spring上下文工具类 六.案例demo源码 一.序章 基本环境 spring-boot 2.1
-
SpringBoot/Spring AOP默认动态代理方式实例详解
目录 1. springboot 2.x 及以上版本 2. Springboot 1.x 3.SpringBoot 2.x 为何默认使用 Cglib 总结: Spring 5.x中AOP默认依旧使用JDK动态代理 SpringBoot 2.x开始,AOP为了解决使用JDK动态代理可能导致的类型转换异常,而使用CGLIB. 在SpringBoot 2.x中,AOP如果需要替换使用JDK动态代理可以通过配置项spring.aop.proxy-target-class=false来进行修改,proxy
随机推荐
- angularJS 发起$http.post和$http.get请求的实现方法
- 批处理中常用的符号总结
- golang简单读写文件示例
- php计算两个日期时间差(返回年、月、日)
- 只需五句话搞定JavaScript作用域(经典)
- c#数据绑定之将datatabel的data添加listView
- mysql 备份与迁移 数据同步方法
- php出现Cannot modify header information问题的解决方法大全
- javascript实现数字验证码的简单实例
- 对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
- 在Linux系统中将Redmine和SVN整合入Nginx的方法
- javascript生成随机数方法汇总
- PowerShell函数实现类似重载功能实例
- Lua中的元表与元方法学习总结
- 图文教程mssqlserver数据库导出到另外一个数据库的方法
- jquery 实现两级导航菜单附效果图
- Web性能压力测试工具Siege使用教程
- Java java.lang.ExceptionInInitializerError 错误如何解决
- c++实现高精度加法
- C++中用栈来判断括号字符串匹配问题的实现方法