企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
lombok 底层使用字节码技术 ASM 修改字节码文件 生成get和set方法 >### 1.添加lombok依赖 ~~~ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> ~~~ ~~~ import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @Slf4j //日志信息 @Getter @Setter public class User { private String name; private int age; public String toString(){ return "name:"+name+"age:"+age; } public static void main(String[] args) { User user=new User(); user.setName("SS"); user.setAge(10); log.info(user.toString()); } } ~~~ 19:52:10.329 [main] INFO cn.li.entity.User - name:SSage:10 lombok减少重复代码 ~~~ lombok的注解介绍 @NonNull : 让你不在担忧并且爱上NullPointerException @CleanUp : 自动资源管理:不用再在finally中添加资源的close方法 @Setter/@Getter : 自动生成set和get方法 @ToString : 自动生成toString方法 @EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现 @NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor 自动生成构造方法 @Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法 @Value : 用于注解final类 @Builder : 产生复杂的构建器api类 @SneakyThrows : 异常处理(谨慎使用) @Synchronized : 同步方法安全的转化 @Getter(lazy=true) : @Log : 支持各种logger对象,使用时用对应的注解,如:@Log4j ~~~