Spring Boot实用小技巧2 - 第524篇

科技   2024-08-20 08:30   福建  

Spring Boot
Spring Boot
Spring Boot
Spring Boot
Spring Boot

Spring Boot

Spring Boot

SpringBoot异常处理机制之自定义404、500错误提示页面 - 518篇

SpringBoot 中多例模式的神秘世界:用法区别以及应用场景,最后的灵魂拷问会吗?- 第519篇

SpringBoot开发的AI导航站技术架构剖析 —— 技术如何选型 -  第520篇

SpringBoot多例模式,在同一个类中注入两次是否是同一个对象 – 一不小心就会写出一个重大BUG!!- 521篇

SpringBoot基本原理,轻松应对面试官 - 第522篇

Spring Boot实用小技巧 -  - 第523篇


导读

这一节继续分享Spring Boot的一些小技巧,这些小技巧掌握在手, 有助于你解决工作中一些特殊的需求或者对项目进行优化

技巧一:启动不设置端口

对一些定时任务服务项目,其本身只是提供一个定时调度功能,不需要其他服务调用,只是去调度其他服务。像这样的服务,正常也就不需要设置端口了。这时候SpringBoot也是支持的,实现方式有两种代码方式和配置文件方式,这里说一下配置文件方式:

早期的配置:

spring.main.web-environment=false

新版本的配置(测试版本是3.1.7):

spring.main.web-application-type=none

最后效果,是不是没有看见端口了:

还记得有端口的启动是怎么输出的吗?如下:


技巧二:通用获取HttpServletRequest

在项目common或无法直接请求的地方,想获取request,是无法通过HttpRequestServelet来直接.getRequest,那么在这种情况下,想要获取request对象就需要用到下边的小技巧。

HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();


技巧三:如何在spring boot上下文中不通过注解获取到上下文中的bean

不通过外部工具类Hutool,如何在spring boot上下文中不通过注解获取到上下文中的bean

BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext());SysUserService  sysUserService = factory.getBean(SysUserService.class);

技巧四:在注解内写入自己的销毁方法

在一些特定的场景需要在不使用Bean的时候,进行相应的销毁,这种情况可以采用@Bean注解去修饰自己的Bean,然后在注解内写入自己的销毁方法即可,destroyMethod后填的方法,必须是需要实例化类的方法。

在实体化类SysUser中定义销毁方法:

public void destroy() {    System.out.println("执行销毁方法");}

使用@Bean注入,并且指定销毁方法:

@Bean(destroyMethod = "destroy")public SysUser sysUser() {    return new SysUser();}


技巧五:启动完成前进行业务逻辑

利用CommandLineRunner或者ApplicationRunner可实现在SpringApplicationrun()完成前执行一些业务逻辑。

实现方式:实现CommandLineRunner接口,ApplicationRunner接口,若多个时,可设置@Order来确定执行的顺序。

计520+
Spring Boot
Spring Boot
Spring Boot
Spring Boot
Spring Boot

Spring Boot

Spring Boot

Spring Boot整合ElasticSearch实战 - 第511篇

Transaction rolled back because it has been marked as - 第512篇

五音不全也浪漫,521清华学霸为爱人写歌 - 第513篇

一文讲清楚SpringBoot项目打包jar后运行报错template might not exist - 第514篇

idea springboot woff/woff2/eot/ttf/svg等小图标不显示的问题 - 第515篇

Noisee AI中文站网页版 AI 音乐生成视频全新登场,快来抢先体验——国内第一个登场的中文站来袭  - 516篇

Spring的SmartLifecycle可以没用过,但没听过就不好了!- 第517篇

SpringBoot异常处理机制之自定义404、500错误提示页面 - 518篇

SpringBoot 中多例模式的神秘世界:用法区别以及应用场景,最后的灵魂拷问会吗?- 第519篇

SpringBoot开发的AI导航站技术架构剖析 —— 技术如何选型 -  第520篇

SpringBoot多例模式,在同一个类中注入两次是否是同一个对象 – 一不小心就会写出一个重大BUG!!- 521篇

SpringBoot基本原理,轻松应对面试官 - 第522篇

Spring Boot实用小技巧 -  - 第523篇


SpringBoot
Suno AI制作音乐,Viggle AI - 照片跳舞,AI音乐,Noisee AI制作MV。Spring Boot技术。博客已有400+,文章特色:一个知识点一个系列、让技术变得简单、文章轻松幽默,悟纤和师傅趣谈更是轻松有趣。
 最新文章