Live2D
复制代码

08-SpringBoot实践小技巧

spring boot最佳实践步骤

  1. 引入开发所需要的场景依赖,如要开发缓存或是消息队列,可以看一下spring boot有没有这些场景的相关依赖,查找spring boot有没有这些场景的依赖可以到这个链接中找,这里是spring boot官方给定

    https://docs.spring.io/spring-boot/docs/2.4.3/reference/html/using-spring-boot.html#using-boot-starter

    如果这里面没有就找其他第三方的依赖

  2. 查看自动配置了哪些东西(可以选择看,和开发没有关系)

    • 可以自己分析,看自己导入了哪些场景依赖,然后到Libralies目录中找到spring boot的autoconfiguration包中的某个场景的包,分析哪个自动配置类开启了配置

    • 但是上面有点麻烦,我们可以在application.propertise文件中设置,如下

      debug=true
      #表示开启debug模式,默认是false,开启后会在控制台输出启用和不启用的配置类的报告
      #报告中Positive matches:中的是启用的自动配置类,而且还说明了为什么生效,即满足了什么条件
      #Negative matches:中的是没有启用的自动配置类,说明了为什么不生效的原因
      
  3. 看看是否需要修改其他配置(如连接数据库我们要修改数据源,url、username、passworld等)

将一张jpg格式的图片放到resources资源目录下,然后在application.properties中配置如下

 这样就设置ok了
  1. 自定义加入或替换组件,就是创建配置类,在其中使用@Bean、@Component等注解进行添加组件,自己添加的或被框架优先使用

  2. 编写自定义器 XxxCustomizer这样的,以后会用到

spring boot的开发小技巧

1、Lombok的使用

在开发中,我们通常都需要创建一些映射实体类,我们需要给每一个实体类创建有参无参的构造方法、set和get方法以及必要时重写的toString和hashCode方法等,很麻烦,所以就引入了Lombok工具。在项目依赖中导入Lombok的依赖,然后idea工具中搜索安装Lombok工具,我们就可以在实体类中添加注解来代替手写上面所讲的东西了。

  • 首先导入Lombok依赖,不用写版本号,父项目中已经定义好了

    		<!--Lombok依赖-->
    		<dependency>
    			<groupId>org.projectlombok</groupId>
    			<artifactId>lombok</artifactId>
    		</dependency>
    
  • 在idea中安装Lombok插件,然后重启idea

  • 那么在实体类中使用注解进行代替,具体如下

    package com.studymyself.bean;
    
    import lombok.*;
    //使用Lombok插件后,使用对应注解,在编译阶段会自动添加该类的setter和getter方法
    //有参无参构造方法等
    
    @EqualsAndHashCode//为该类在编译时重写equals和hashCode方法
    @ToString//为该类在编译时重写toString方法
    @NoArgsConstructor//为该类在编译时创建所有参数的构造器
    @AllArgsConstructor//为该类在编译时创建所有参数的构造器
    @Data//为该类的所有属性在编译时添加setter、getter方法
    public class User {
    
        private String name;
        private Car car;
    
        //要注意的是如果在创建该类对象时,只需要部分参数,这样的构造方法还得是自己创建
        public User(String name){
            this.name=name;
        }
    }
    
  • Lombok中有一个日志功能,我们可以在处理器类上添加@Slf4j注解,就会注入一个log的属性

    package com.studymyself.controller;
    
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @Slf4j
    @RestController
    public class MyController {
        
        @RequestMapping("/hello")
        public String myController(){
            
            //使用日志,log属性
            log.error("警告:请求进来了");
            return "你好啊!Spring Boot!";
            
        }
        
    }
    

    启动项目,发起请求,控制台内容如下

2、dev-tools(Developer Tools:热部署工具)

当我们修改了项目中的配置文件和代码时,都需要重启整个项目,使用Ctrl+F10。但是我们在依赖中映入devtools的依赖,以后修改文件就可以直接CTRL+F9就可以自动部署更新项目了,但是底层原理还是重启项目,主要功能是我们修改的是静态资源页面代码(如jsp页面)时,使用Ctrl+F9是不重启项目的。但是更新静态页面,之前springMVC项目时在运行的下面有个更新resources的选项。但是spring boot中当前是没有的

		<!--热部署依赖-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>
posted @ 2021-06-17 13:11  Milen-jie  阅读(59)  评论(0编辑  收藏  举报