Spring Boot实用小技巧6 - 第528篇

科技   2024-10-15 08:30   福建  


国内最全的Spring Boot系列之一
国内最全的Spring Boot系列之二
国内最全的Spring Boot系列之三
国内最全的Spring Boot系列之四
国内最全的Spring Boot系列之

国内最全的Spring Boot系列之六

国内最全的Spring Boot系列之

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

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

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

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

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

Spring Boot实用小技巧3 - 第525篇

Spring Boot实用小技巧4 - 第526篇

Spring Boot实用小技巧5 - 第527篇


AI发展太快了,早期还只能简单的动作模仿,现在可以踢足球了???

想要了解的可以访问如下地址或者直接扫码请求:

https://dzwlai.com/viggle/#/?i=8NCBS8_WXTT


导读

工作中很多问题很多时候,就是没有找到那个关键点,而那个关键点就在于自己是否有没有掌握一些小技巧。

小技巧在手,再也不用担心领导要让我加班了。今天再和大家分享几个小技巧。


技巧一:使用 Bean生命周期的扩展点:Bean Post Processor

BeanPostProcessor的设计目标主要是提供一种扩展机制,让开发者可以在Spring Bean的初始化阶段进行自定义操作。这种设计理念主要体现了Spring的一种重要原则,即“开放封闭原则”。开放封闭原则强调软件实体(类、模块、函数等等)应该对于扩展是开放的,对于修改是封闭的。在这里,Spring容器对于Bean的创建、初始化、销毁等生命周期进行了管理,但同时开放了BeanPostProcessor这种扩展点,让开发者可以在不修改Spring源码的情况下,实现对Spring Bean生命周期的自定义操作,这种设计理念大大提升了Spring的灵活性和可扩展性。

BeanPostProcessor不是Spring Bean生命周期的一部分,但它是在Spring Bean生命周期中起重要作用的组件。

具体可以用于如下场景:

(1)监控统计 每个环节耗时

(2)利用BeanPostProcessor修改Bean的初始化结果的返回值

(3)通过BeanPostProcessor实现Bean属性的动态修改

技巧二:修改默认DispatcherServlet路径

可以在application.properties加入配置,如:

server.servlet-path=/api/*

另外,也可以注入一个新的ServletRegistrationBean用于映射新的url

//自动注入spring boot默认的上传配置@Autowiredprivate MultipartConfigElement multipartConfigElement;@Autowiredprivate DispatcherServlet dispatcherServlet;@Beanpublic ServletRegistrationBean apiServlet() {    ServletRegistrationBean bean = new ServletRegistrationBean(dispatcherServlet);    //注入上传配置到自己注册的ServletRegistrationBean    bean.addUrlMappings("/api/*");    bean.setMultipartConfig(multipartConfigElement);    bean.setName("apiServlet");    return bean;}



技巧三:使用 Lombok

作为一名 Java 开发人员,我们可能听说过 Lombok 项目。

Lombok 是一个 Java 库,可用于减少代码并允许我们使用其注释编写干净的代码。

例如,我们可能在某些类(如实体、请求/响应对象、dtos 等)中使用大量的 getter 和 setter 行。

但如果你使用 Lombok,它只是一行,你可以根据你的要求使用@Data、@Getter 或@Setter。

我们也可以使用 Lombok 记录器注释。推荐@Slf4j。

检查此文件以供参考。


技巧四:将构造函数注入与 Lombok 一起使用

当我们谈论依赖注入时,有两种类型。

一种是“构造函数注入”,另一种是“setter 注入”。除此之外,我们还可以使用非常流行的@Autowired 注释来使用“字段注入”。

但我们强烈建议使用构造函数注入而不是其他类型。因为它允许应用程序在初始化时初始化所有必需的依赖项。

这对于单元测试非常有用。

重要的是,我们可以使用 Lombok 的 @RequiredArgsConstructor 注释来使用构造函数注入。

检查此示例控制器以供参考。



技巧五:使用 slf4j 日志

·日志记录非常重要。

·如果我们的应用程序在生产过程中出现问题,日志记录是找出根本原因的唯一方法。

·因此,在添加记录器、日志消息类型、记录器级别和记录器消息之前应该仔细考虑。

·不要使用 System.out.print()

·建议将 Slf4j 与 Spring Boot 中默认的日志框架 logback 一起使用。

·始终使用 slf4j 的 {} 占位符语法,避免在记录器消息中使用字符串插值。因为字符串插值会消耗更多的内存。

·我们可以使用 Lombok @Slf4j 注释非常轻松地创建日志记录器。

·如果我们处于微服务环境中,则可以使用 ELK 技术栈。


历史文章(文章累计520+)
国内最全的Spring Boot系列之一
国内最全的Spring Boot系列之二
国内最全的Spring Boot系列之三
国内最全的Spring Boot系列之四
国内最全的Spring Boot系列之

国内最全的Spring Boot系列之六

国内最全的Spring Boot系列之

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篇

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

Spring Boot实用小技巧3 - 第525篇

Spring Boot实用小技巧4 - 第526篇

万物皆能舞,AI让你秒变“舞”林高手 – Viggle AI“舞”所不能

法定年龄退休2024年新规,我要到63岁才能退休了,看看你几岁退休,附退休对照表

Suno新上线Covers翻唱新 - 实现音频风格任意转换

Spring Boot实用小技巧5 - 第527篇


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