type
status
date
slug
summary
tags
category
icon
password
Property
Sep 26, 2025 06:17 AM
本文主要讲解私活开发的时候常用的开发技巧
一、注解是一个好帮手
(1)常用Lombok注解
@Builder
@Builder 是一个 Lombok 注解,它可以自动生成一个类的构造器,并且允许您链式调用设置该类的属性。使用
@Builder 声明的类,Lombok 会自动为其生成一个包含所有非静态和非瞬态字段的构造函数。此外,Lombok 还会为该类生成一个名为 builder() 的静态方法,该方法返回一个内部 Builder 类型的实例。 您可以使用此 Builder 类来创建该类对象。在 Builder 对象上,您可以使用 setter 方法链式设置类属性,并在最后使用 build() 方法创建对象并初始化其属性。使用
@Builder 注解后,我们可以直接通过以下方式创建 Person 对象:在上述示例中,我们使用了链式调用设置了三个属性,并在最后调用
build() 方法来创建对象。当然,我们也可以只设置其中的一些属性,或者不设置任何属性(这样生成的对象中,该类的所有属性都将是默认值)。无论如何,在使用 @Builder 注解后,代码会变得更加简洁和易读。解释一下非瞬态字段:非瞬态字段属性指的是没有使用Java中transient关键字修饰的属性。在Java中,被transient修饰的属性将不会被序列化,也就是说这些属性的值不会被保存在内存中,而是只存在于对象的生命周期中,因此这些属性也被称之为瞬态属性。相反,如果一个属性没有使用transient关键字修饰,则表示这个属性是非瞬态的,它的值将随着对象的创建而被分配内存空间,并在对象的整个生命周期中一直存在。
@NoArgsConstructor
@Data
@AllArgsConstructor
@UtilityClass
@UtilityClass 是一个 Lombok 注解,它可以在编译时自动生成以下内容:(1)将类声明为
final 和 abstract。(2)生成一个私有的无参构造函数。
(3)将所有非静态方法声明为静态方法。
这个注解通常用于创建工具类或者帮助类。使用该注解可以省略一些样板代码,并提供更加简洁明了的代码结构。例如:
使用
@UtilityClass 注解来定义字符串相关的工具类,可以使得所有方法均为静态方法,而且也不需要手动添加单例模式保证只有一个实例,从而更加方便地进行调用。@SneakyThrows
@SneakyThrows 是 Java 中的一个注解,它可以让开发者在方法中抛出受检查异常(checked exception)时无需显式地声明 throws 子句,从而简化了代码编写和调用的过程。在使用 @SneakyThrows 注解后,当方法中抛出受检查异常时,Java 会自动捕获并将其转换为非受检查异常(unchecked exception),并且不需要在方法声明中显式地指定该异常类型。这样,使用该方法的程序员就可以像处理普通异常一样来处理该异常。需要注意的是,尽管 @SneakyThrows 可以减少代码量和提高开发效率,但过度使用该注解可能会掩盖潜在的问题,因此建议仅在必要情况下使用该注解。@RequiredArgsConstructor
@RequiredArgsConstructor 是一个 Lombok 注解,它可以帮助简化构造函数的编写。当你在类中使用 @RequiredArgsConstructor 注解时,Lombok 会自动生成一个包含所有非 final 字段的构造函数。例如,如果我们有如下代码:
那么 Lombok 会为我们自动生成如下构造函数:
需要注意的是,在使用
@RequiredArgsConstructor 注解时,所有的 final 字段都会被自动包含在生成的构造函数中,但如果有其他非 final 字段,则需要手动添加到构造函数中。如果希望将所有字段都包含在构造函数中(包括非 final 字段),可以使用 Lombok 的 @AllArgsConstructor 注解。(2)常用SpringBoot注解
@ConditionalOnProperty注解
@ConditionalOnProperty是Spring Boot中的一个条件注解,用于在应用启动时根据配置文件中指定的属性值来判断是否需要加载某个类或者配置。该注解可以用于以下场景:
(1)当指定的配置项存在且值为true时,才会创建被注解的bean
(2)当指定的配置项不存在时,默认也会创建被注解的bean
(3)当指定的配置项存在但值不等于指定值时,不创建被注解的bean
这个注解非常实用,可以根据具体的需求来进行配置,在某些情况下可以避免不必要的资源浪费。比如以下代码中的例子:以下代码来自Github-Novel项目
…
更新!
PS:现在私活不再用Spring体系了,太庞杂了,而且笨重,太吃资源了,隔壁Rust一套下来1C1G都能直接跑生产了,Java-Spring还停留在最低4g8c(有的小项目基于Java21最低要求也要2g2c)生产才稳定。太扯了,现在Solon生态起来了,直接换Solon(Java17~Java25),你问我私活用什么?Java开发业务的话,推荐Solon,Golang的话推荐Gin,如果是Rust,直接无脑ActixWeb。
Python也不是很适合做后端我个人是这么看的,我认为如果条件允许,入门的时候就应该直接学C跟C++,而不是直接学Java,Java啰嗦而且太吃性能这个必然会成为日后阻碍个人开发者的一大问题,相信不久的未来,会踊跃一大批Rust-Python-Golang-Java兼修的散修,我就是这种散修。独立开发,我只选择Rust+Golang,基座服务还是可以跑Java的,毕竟Java还是比较稳定的~
有关常私活常用开发技巧的问题,欢迎您在底部评论区留言,一起交流~
- 作者:fntp
- 链接:https://polofox.com/article/tech-other-note-2
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章





