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

目录

  • 1. 通过DEBUG查看自动配置的组件
  • 2. springboot启动图标修改
  • 3. Lombok
  • 4. devtools
  • 5. 通过IDEA的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:
-----------NoneUnconditional classes:
----------------------org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfigurationorg.springframework.boot.autoconfigure.context.LifecycleAutoConfigurationorg.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfigurationorg.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfigurationorg.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:全参构造器
  • @Data:getter、setter方法
  • @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,效果如下:
lombok使用
同时也会打印如下的日志

......省略部分......
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快速创建新项目

如下所示:

Spring Initailizr
创建完项目,resources目录下的static是放CSS、JS静态资源的,templates是放html页面的

resources目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/8806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot 集成 EasyExcel 3.x 优雅实现 Excel 导入导出

介绍 EasyExcel 是一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具。它能让你在不用考虑性能、内存的等因素的情况下&#xff0c;快速完成 Excel 的读、写等功能。 EasyExcel文档地址&#xff1a; https://easyexcel.opensource.alibaba.com/ 快速开始 …

前后端分离windows本地nginx解决跨域

下载 http://nginx.org/en/download.html 命令 启动Nginx&#xff1a; nginx.exe start 快速停止或关闭Nginx&#xff1a; nginx.exe -s stop 正常停止或关闭Nginx&#xff1a; nginx.exe -s quit 配置文件修改重装载命令&#xff1a; nginx.exe -s reload 强制停用…

SQL调优教程

SQL调优教程 基础方法论 任何计算机应用系统性能问题最终都可以归结为 1.cpu消耗 2.内存使用 3.对磁盘&#xff0c;网络或其他I/O设备的输入/输出(I/O)操作 遇到性能问题时&#xff0c;要判断的第一点就是“在这三种资源中&#xff0c;是否有哪一种资源达到了有问题的程度”&…

Linux环境下Elasticsearch相关软件安装

Linux环境下Elasticsearch相关软件安装 本文将介绍在linux(Centos7)环境下安装Elasticsearch相关的软件。 1、安装Elasticsearch 1.1 Elasticsearch下载 首先去Elasticsearch官网下载相应版本的安装包&#xff0c;下载之后传输到linux服务器上。 官网地址&#xff1a;http…

Python采集某网站小视频内容, m3u8视频内容下载

目录标题 前言环境使用:模块使用:代码实现步骤代码展示尾语 前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 环境使用: python 3.8 运行代码 pycharm 2021.2 辅助敲代码 模块使用: import requests >>> pip install requests 内置模块 你安装好python环境就…

Windows 微信更新内核(小程序框架)的指南

WMPF-PC 更新指引&#xff1a; 准备工作 1. 安装最新微信客户端&#xff08; https://dldir1.qq.com/weixin/Windows/WeChatSetup.exe &#xff09; 2. 在微信在搜索栏输入:showcmdwnd (包括前面冒号) 中输入以下代码以开启 wmpf 新内核版本(已经是现网默认&#xff0c;可以…

Spring Boot 3.x 系列【51】启动流程 | 最后阶段

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot版本3.1.0 源码地址:https://gitee.com/pearl-organization/study-spring-boot3 文章目录 1. 前言2. 执行流程2.1 打印启动完成日志2.2 发布启动完成事件2.3 调用Runner2.4 异常处理2.5 Ready 事件2.6 返回上下文1…

springboot整合log4j2

1.排除springboot本身日志 2.添加log4j2 maven没有父项目 就必须指定version!! 3.配置application.yml文件 打印sql级别为debug 4.配置log4j2.xmllogging.configclasspath:log4j2.xml logging.level.com.zhkj.shoppingdebug #mybatis-plus.mapper-locations classpath*:/mapp…

web前端开发小知识

当今互联网技术迅猛发展&#xff0c;web前端开发也成为了非常热门的职业之一。作为一个web前端开发者&#xff0c;不仅需要掌握各种前端开发技术&#xff0c;还需要了解一些小技巧和小知识。下面&#xff0c;我们将介绍一些web前端开发小知识&#xff0c;希望对你的工作有所帮助…

39. 组合总和

题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被…

连续三年!瑞数信息入选Gartner《2023年中国ICT技术成熟度曲线报告》云安全代表厂商

连获殊荣 近日&#xff0c;全球权威IT研究与顾问咨询公司Gartner发布《2023年中国ICT技术成熟度曲线报告》&#xff08;Hype Cycle for ICT in China, 2023》&#xff0c;瑞数信息入选云安全领域代表厂商&#xff08;Sample Vendor&#xff09;。 这是继2021年、2022年后&…

ChatGPT API进阶调用指南

原文&#xff1a;ChatGPT API进阶调用指南 ChatGPT API 进阶调用指南 ChatGPT API 是基于 OpenAI 的 GPT模型的一个强大工具&#xff0c;可以用于构建各种对话式应用。以下是一些使用 Markdown 语法的进阶调用指南&#xff0c;以帮助您更好地利用 ChatGPT API。 设置用户角色…

vue3-vite使用amfe-flexible

1. 安装postcss-pxtorem npm install postcss-pxtorem --save-dev2. 安装lib-flexible npm i -s amfe-flexible3. 在main.js引入插件 import amfe-flexible4. 配置postcss.config.js文件 在根目录&#xff0c;和package.json同级&#xff0c;创建一个名为postcss.config.j…

Spring Security 6.x 系列【64】扩展篇之多线程支持

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列Spring Security 版本 6.1.0 本系列Spring Authorization Server 版本 1.1.0 源码地址:https://gitee.com/pearl-organization/study-spring-security-demo 文章目录 1. 问题演示2. 解决方案:…

安装redis,适配阿里云服务器,Liunx安装redis

下载redis以及编译安装 下载redis文件 wget http://download.redis.io/releases/redis-6.0.8.tar.gz #下载redis压缩文件 tar xzf redis-6.0.8.tar.gz #解压缩 cd redis-6.0.8 make 查看是否安装了gcc编译输入gcc --version如果没有…

对比CahtGPT Bard Claude2对中文的理解

对比CahtGPT Bard Claude2对中文的理解 今天简单测试了一下目前这三个很火的模型对中文的理解能力 简单问题 鲁迅和周树人的关系 Bard CahtGPT Claude 介绍一下平凡的世界这本书 Bard CahtGPT

Java并发编程 | 创建线程的几种方式

文章目录 一、简介二、使用Thread类创建线程2.1 继承Thread类2.1.1 创建Thread子类2.1.2 重写run方法2.1.3 启动线程的方式方式一&#xff1a;创建线程对象后调用start方法方式二&#xff1a;直接使用匿名内部类创建线程对象并调用start方法 2.2 使用匿名内部类创建线程2.3 线程…

5.CSS(二)

目录 一、Emmet语法 &#xff08;一&#xff09;快速生成HTML结构语法 &#xff08;二&#xff09;快速生成CSS样式语法 二、CSS的复合选择器 &#xff08;一&#xff09;后代选择器&#xff08;重要&#xff09; &#xff08;二&#xff09;子选择器&#xff08;重要&…

自然语言处理从入门到应用——LangChain:模型(Models)-[聊天模型(Chat Models):使用少量示例和响应流式传输]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 使用少量示例 本部分的内容介绍了如何在聊天模型&#xff08;Chat Models&#xff09;中使用少量示例。关于如何最好地进行少量示例提示尚未形成明确的共识。因此&#xff0c;我们尚未固定任何关于此的抽象概念&#…

什么是Java中的JVM(Java虚拟机)?

JVM&#xff08;Java虚拟机&#xff09;是Java平台的核心组件之一&#xff0c;是一个用于执行Java字节码的虚拟计算机。Java源代码经过编译器编译&#xff0c;生成字节码文件&#xff08;.class文件&#xff09;&#xff0c;然后由JVM来解释和执行这些字节码。JVM负责将字节码翻…