SpringBoot开发小技巧使用(DEBUG、启动图标修改、Lombok、devtools、Spring Initializr)

这篇具有很好参考价值的文章主要介绍了SpringBoot开发小技巧使用(DEBUG、启动图标修改、Lombok、devtools、Spring Initializr)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 通过DEBUG查看自动配置的组件

在resources/application.properties中添加如下,开启DEBUG功能:

debug=true

然后启动springboot应用,就可以看到DEBUG的日志。Positive表示生效,Negative表示不生效。如下所示:

============================
CONDITIONS EVALUATION REPORT
============================


Positive matches:
-----------------

   AopAutoConfiguration matched:
      - @ConditionalOnProperty (spring.aop.auto=true) matched (OnPropertyCondition)

   AopAutoConfiguration.ClassProxyingConfiguration matched:
      - @ConditionalOnMissingClass did not find unwanted class 'org.aspectj.weaver.Advice' (OnClassCondition)
      - @ConditionalOnProperty (spring.aop.proxy-target-class=true) matched (OnPropertyCondition)
......省略部分......
Negative matches:
-----------------

   ActiveMQAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition)

   AopAutoConfiguration.AspectJAutoProxyingConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.aspectj.weaver.Advice' (OnClassCondition)
......省略部分......
Exclusions:
-----------

    None


Unconditional classes:
----------------------

    org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration

    org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration

    org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration

    org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration

    org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration

2. springboot启动图标修改

下载百度的logo到resouces目录下,然后在resources/application.properties添加如下内容:

spring.banner.image.location=classpath:baidu.png

最后启动springboot应用。打印的日志如下,小图标已经改成百度了

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    #@@    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8     @@     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     @@     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@@@@@@@@@@@    &@@@@@@@@@@@@    :@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@@@@@@@@@@@     @@@@:  @@@@*     @@@@@@@@@@@@@@@@@@@@@@@@@@@
           @@@@@@@@@@@@@   @@     @@       @@@    &@            @@            
     @@@@    @@@@@@@@@@@@@@@@@@@@@@  @@      @@@@@@@@@@@@  @@@@@@@  @  @@@@  @
     @@@@@   @:        @   @@@@@     @@        @@@@@o           @@  @  @@@@  @
           o@@@@@@@@8  @   @@@&  @@#&@@ @@  @@   @@@o  @@@@@@@  @@  @       *@
     @@@@@   @         @   @@@   @@  @@ @@  @@    @@o           @@  .        8
     &&&&    @  @@@@8  @   @@@    @@@@@ o@@@@@   @@@o  @@@@@@@  @@  @@     *@@
           @@@@        @   @@@@.                @@@@o          @@o @   *@@    

2022-11-03 14:47:18.614  INFO 10600 --- [           main] com.hh.springbootTest.MyApplication      : Starting MyApplication using Java 11.0.15 
......省略部分......

也可以使用配置spring.main.banner-mode=off,对banner进行关闭

在线banner生成工具戳我

3. Lombok

Lombok是一个简化Java Bean开发的小工具。自动在编译时生成getter、setter等方法

还有Slf4j的日志注解

在pom.xml添加依赖

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

然后IDEA安装lombok插件(新版IDEA已集成)

lombok针对Java Bean的注解,常用的如下:

  • @NoArgsConstructor:无参构造器
  • @AllArgsConstructor:全参构造器
  • @Getter:getter方法
  • @Setter:setter方法
  • @Data:等同于@NoArgsConstructor + @Getter + @Setter + @EqualsAndHashCode + @ToString
  • @ToString:toString方法
  • @EqualsAndHashCode:hashCode方法

如果构造参数即不是无参构造,也不是全参构造,可以按常规方法定义构造器

package com.hh.springbootTest.myBean;

import lombok.*;

// 如果构造参数即不是无参构造,也不是全参构造,可以按常规方法定义构造器
@NoArgsConstructor      // 无参构造器
@AllArgsConstructor     // 全参构造器
@Data                   // getter、setter方法
@ToString               // toString方法
@EqualsAndHashCode      // hashCode方法
public class User {

    private String name;

}

lombok针对日志的注解有@Slf4j

可以看到可以直接使用全参构造器,创建一个User类对象

package com.hh.springbootTest.myController;

import com.hh.springbootTest.myBean.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;


@RestController
@Slf4j  // 日志
public class HelloController {

    @RequestMapping("user")
    public User userName1(@RequestParam("name") String name) {
        log.info("======user的请求进来了======");

        // 可以直接使用全参构造器
        return new User(name);
    }

}

访问http://localhost:8080/user?name=user1,效果如下:
SpringBoot开发小技巧使用(DEBUG、启动图标修改、Lombok、devtools、Spring Initializr),# SpringBoot,SpringBoot,Debug,启动图标修改,Lombok,devtools
同时也会打印如下的日志

......省略部分......
2022-11-03 15:12:18.809  INFO 31128 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-11-03 15:12:18.809  INFO 31128 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2022-11-03 15:12:18.810  INFO 31128 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
2022-11-03 15:12:18.842  INFO 31128 --- [nio-8080-exec-1] c.h.s.myController.HelloController       : ======user的请求进来了======

4. devtools

在pom.xml添加依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

然后修改代码,再在IDEA按CTRL + F9,进行项目的重新编译。devtools就会自动重新进行加载。修改就会自动生效

不需要按CTRL + F9的,有付费的Jrebel插件

5. 通过IDEA的Spring Initializr快速创建新项目

如下所示:

SpringBoot开发小技巧使用(DEBUG、启动图标修改、Lombok、devtools、Spring Initializr),# SpringBoot,SpringBoot,Debug,启动图标修改,Lombok,devtools
创建完项目,resources目录下的static是放CSS、JS静态资源的,templates是放html页面的

SpringBoot开发小技巧使用(DEBUG、启动图标修改、Lombok、devtools、Spring Initializr),# SpringBoot,SpringBoot,Debug,启动图标修改,Lombok,devtools文章来源地址https://www.toymoban.com/news/detail-610538.html

到了这里,关于SpringBoot开发小技巧使用(DEBUG、启动图标修改、Lombok、devtools、Spring Initializr)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 日常BUG—— SpringBoot项目DEBUG模式启动慢、卡死。

    😜 作           者 :是江迪呀 ✒️ 本文 : 日常BUG 、 BUG 、 问题分析 ☀️ 每日   一言 : 存在错误说明你在进步! 我们调试程序时,需要使用DEBUG模式启动 SpringBoot 项目, 有时候会发现启动很慢甚至是等了大半个钟头无法启动。 检查下是否打的有断点。 如果

    2024年02月13日
    浏览(31)
  • 自定义SpringBoot启动图标

    在SpringBoot项目的 resources 目录下创建 banner.txt 文件 在https://www.bootschool.net/网站上复制Ascll艺术字(图)粘贴到banner.txt中保存。 启动项目就会加载 可以修改颜色,和版本号

    2024年01月18日
    浏览(24)
  • IDEA-SpringBoot项目Debug启动不了(卡住不动)的原因

    SpringBoot项目启动原因有很多种,这里只列举其中一种,也是最近遇到的一种SpringBoot启动失败的情况,如果有相同情况的,可以看看是否是这个原因。 前提:之前可以,突然用Debug模式启动时,项目日志卡住不动,使用Run模式启动又正常,别的同事Dubug启动正常没问题。 项目

    2024年02月05日
    浏览(212)
  • SpringBoot日志持久化以及使用lombok输出日志

    上一篇文章介绍了日志级别和自定义输出日志 链接 https://blog.csdn.net/qq_45875349/article/details/132510387?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132510387%22%2C%22source%22%3A%22qq_45875349%22%7D 那么想要将控制台上的日志信息,保存在硬盘上,以便出问题之后追溯

    2024年02月11日
    浏览(31)
  • 【高效开发工具系列】Mac删除启动台图标

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年02月05日
    浏览(35)
  • SpringBoot 使用lombok的@RequiredArgsConstructor注解进行Bean注入

    参考资料: lombok 使用 @RequiredArgsConstructor 注解完成 spring 注入问题 ⏹当我们使用 @Autowired 进行Bean注入的时候,IDEA会提示警告,不建议使用此方式进行注入。Spring官方更推荐使用构造方法进行注入。 ⏹随之而来的问题就是如果一个类中要注入多个对象的话,构造方法进行注入

    2024年02月11日
    浏览(31)
  • IDEA2023中使用SpringBoot整合Lombok全过程及详细用法

    🧑‍💻 作者名称 :DaenCode 🎤 作者简介 :CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开发。技术尚浅,闭关学习中······ 😎 人生感悟 :尝尽人生百味,方知世间冷

    2024年02月07日
    浏览(22)
  • 启动springboot项目报错:To display the conditions report re-run your application with ‘debug‘ enabled.

    在springboot项目启动时报如下错误: 一、错误原因: To display the conditions report re-run your application with \\\'debug\\\' enabled. 此行意思是,启动项目时出错,如果想要详细报告,需调试(debug)程序。此时我们找到“Description:”字样查看错误描述详细信息: 错误信息为:web器启动失败,

    2024年02月06日
    浏览(31)
  • 使用rcedit修改exe文件信息(图标、版本、版权等)

    我在使用Electron的时候由electron-forge打包出来的exe中部分文件信息没法通过配置或打包时修改: 主要就是上面这个版权信息 后来发现Github上Electron组织下面有个rcedit工具可以处理这个问题。 rcedit是一个用于在Windows上编辑exe文件资源的命令行工具。 项目地址如下: https://gith

    2024年02月06日
    浏览(26)
  • SpringBoot 启动配置文件加载和参数配置修改问题

    SpringBoot 或者SpringCloud 有配置文件加载和参数修改的机制,本文将从两个角度阐述参数修改和配置文件启动覆盖问题。 以下几种方式都可以被@Value读取到 java -jar -Dserver.port=8080 -Xms1024m demo.jar java -jar demo.jar --server.port=8080 从操作系统的环境变量中读取 通过项目中配置文件boots

    2023年04月15日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包