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:
-----------

    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添加依赖

        
            org.projectlombok
            lombok
        

然后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,效果如下:
SpringBoot开发小技巧使用(DEBUG、启动图标修改、Lombok、devtools、Spring Initializr)_第1张图片
同时也会打印如下的日志

......省略部分......
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添加依赖

        
            org.springframework.boot
            spring-boot-devtools
            true
        

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

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

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

如下所示:

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

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

你可能感兴趣的:(#,SpringBoot,SpringBoot,Debug,启动图标修改,Lombok,devtools)