Java SpringBoot开发小技巧详解

目录
  • 一、SpringBoot开发小技巧
    • 1.1 Lombok
    • 1.2 dev-tools
    • 1.3 Spring Initializr
  • 总结

一、SpringBoot开发小技巧

1.1 Lombok

作用:在程序编译的时候,自动帮我们生成setter和getter方法以及我们的toString方法和我们的全参和无参构造器等等。

那么,怎么用呢?很简单,用下边这四个注解就行了:

1、@Data:自动生成setter和getter方法。

2、@ToString:自动生成toString方法。

3、@AllArgsConstructor:自动生成全参构造器

4、@NoArgsConstructor:自动生成无参构造器

5、@EqualsAndHashCode:自动生成EqualsAndHashCode方法

6、@Slf4j:开启我们的日志记录器

使用Lombok,首先当然要引入他的依赖,这个在SpringBoot也装配好了,所以我们不用写他的版本号。

        <!--lombok依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

然后在IDEA的settings中下载Lombok的插件。(下载完记得重启一下IDEA,让他生效)

使用这个插件后,我们以后开发的时候的那些Bean,我们只需要在上面添加如下注解就可以生成对应的方法了:

package com.example.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

@Data                   //setter和getter方法
@ToString               //toString方法
@AllArgsConstructor     //有参构造器
@NoArgsConstructor      //无参构造器
@EqualsAndHashCode		//EqualsAndHashCode方法
public class User {
    private Integer id;
    private String username;
    private String password;
}

然后我们给控制器也写一个@Slf4j注释

package com.example.controller;

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;

import javax.annotation.Resource;

//@RestController可以理解成是Controller加ResponseBody
@RestController
@Slf4j
public class HelloController {

    @RequestMapping("/hello")
    public String toHello(@RequestParam("name") String name){
        log.info("/hello被人访问啦!");
        return "Hello,World!"+name;
    }
}

在主程序中写上:

package com.example.boot;

import com.example.bean.User;
import com.example.config.MyConfig;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

/**
 * 主程序类
 * @SpringBootApplication 告诉 SpringBoot这是一个SpringBoot应用
 */
@SpringBootApplication(scanBasePackages = "com.example")
public class MainApplication {
    public static void main(String[] args) {
        //固定写法
        ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);

        MyConfig myConfig = run.getBean(MyConfig.class);
        //通过myConfig的方法获取Bean
        User user = myConfig.user();
//        User user1 = myConfig.user();
        //通过run获取Bean
        User user2 = run.getBean("user",User.class);
        System.out.println(user);
        System.out.println(user2);
    }
}

运行我们的主程序,我们来测试一下,首先Bean的创建没问题,而且他的toString方法也没问题。

登录http://localhost:8888/hello?name=哈哈哈

控制台输出也没问题。

1.2 dev-tools

作用:以前开发页面啥的,老要重启一下主程序或者重启一下Tomcat服务器,有了他就方便多啦。我们只需要按Ctrl+F9(编译一下),就可以让他实时生效。(第一次使用记得在成功导入依赖后,先重启一次主程序)

先添加依赖:

        <!--dev-tools依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

然后我们来试一下,我们把之前设置端口号为8888的那一段删掉,让他变回默认的8080。按Ctrl+F9,很快就编译完成了,然后我们此时登录8080端口号成功。登录8888端口号就不行了。开发网页啥的时候也是一样,改完代码,直接编译,然后回去网站刷新一下即可。

1.3 Spring Initializr

作用:初始化我们的SpringBoot工程。

在IDEA中,我们新建我们的项目,可以选择Spring Initializr,然后配置我们的工程名、路径等等信息,大致如下:

完成后,他就会自动帮我们导入我们的依赖

并且帮我们设计好我们的项目结构:

主程序类也帮我们写好了默认的语句。

如此,开发者基本上就只需要写自己的那些dao、service、controller和bean一系列的业务逻辑的东西就可以了。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • 四种引用类型在JAVA Springboot中的使用详解

    目录 概念介绍 01.  强引用 02.  软引用 03.  弱引用 04.  虚引用 对象可达性 Springboot源码中的使用 总结 概念介绍 不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响. 01.  强引用 这个就是我们创建的普通对象了~ 当该对象被显示地赋值为 null 时,或者没有被其他存活的对象继续引用时,它就会成为垃圾收集器的目标,等待被收回 02.  软引用 软引用( SoftReference ) , 当内存不足 时会被回收 比如

  • Java Springboot的目的你知道吗

    目录 Spring-boot目的 Spring如何简化开发 第一个spring-boot程序 总结 Spring-boot目的 Spring是为了解决企业应用开发的复杂性而创建的,简化开发 Spring如何简化开发 1.基于POJO的轻量级和最小侵入性编程 2.通过IOC,依赖注入(DI)和面向接口实现松耦合 3.基于(AOP)和惯例进行声明式编程 4.基于切面和模板减少样式代码 微服务 第一个spring-boot程序 官方提供了一个快速生成的网站!idea集成了这个网站 1可以在官网下载后,

  • Java SpringBoot+vue+实战项目详解

    目录 1.<锋迷商城>业务流程设计-接⼝规范 1.1 前后端分离与单体架构流程实现的区别 1.1.1单体架构 1.1.2 前后端分离架构 1.2 接口介绍 1.2.1接口概念 1.2.2接口规范 1.3 Swagger 1.3.1作用 1.3.2 Swagger整合 1.3.3 Swagger注解说明 1.3.4 Swagger-ui 插件 1.4 RESTful 总结 1.<锋迷商城>业务流程设计-接⼝规范 在企业项⽬开发中,当完成项⽬的需求分析.功能分析.数据库分析与设计之后,

  • Java Springboot websocket使用案例详解

    什么是WebSocket WebSocket是一种在单个TCP连接上进行全双工通信的协议 - 为什么要实现握手监控管理 如果说,连接随意创建,不管的话,会存在错误,broken pipe 表面看单纯报错,并没什么功能缺陷等,但实际,请求数增加,容易导致系统奔溃.这边画重点. 出现原因有很多种,目前我这边出现的原因,是因为客户端已关闭连接,服务端还持续推送导致. 如何使用 下面将使用springboot集成的webSocket 导入Maven 首先SpringBoot版本 <parent> &l

  • Java SpringBoot快速集成SpringBootAdmin管控台监控服务详解

    目录 1.初识SpringBootAdmin 2.搭建服务端--POM文件中添加相关依赖 3.修改服务端application启动类 4.配置security安全信息 5.启动server服务端 6.搭建client客户端 总结 SpringBootAdmin是一个针对 Spring Boot 的 Actuator 接口进行 UI 美化封装的监控工具,它可以在列表中浏览所有被监控 spring-boot 项目的基本信息.详细的 Health 信息.内存信息.JVM 信息.垃圾回收信息.各种配置信

  • Java SpringBoot开发小技巧详解

    目录 一.SpringBoot开发小技巧 1.1 Lombok 1.2 dev-tools 1.3 Spring Initializr 总结 一.SpringBoot开发小技巧 1.1 Lombok 作用:在程序编译的时候,自动帮我们生成setter和getter方法以及我们的toString方法和我们的全参和无参构造器等等. 那么,怎么用呢?很简单,用下边这四个注解就行了: 1.@Data:自动生成setter和getter方法. 2.@ToString:自动生成toString方法. 3.@

  • kotlin开发cli工具小技巧详解

    目录 脚手架 开搞 开发调试 jcommander Main 函数声明 压缩模板 放飞自我 生成最终产物 结尾 脚手架 脚手架是为了保证各施工过程顺利进行而搭设的工作平台 而在程序开发过程中,每个工程或者说公司也都需要一个脚手架工具.通过脚手架命令行的形式简化开发流程,避免发生一些人为的相对低级的问题,所以这个也就是为什么叫做脚手架的原因吧. 而由于每个公司的代码规范都不同,一般情况下会主动让开发同学进行工程方面的cv操作,就是成本高并且容易出错.这也就是为什么我们打算写一些这样的工具的原因.

  • Java SpringBoot Validation用法案例详解

    目录 constraints分类 对象集成constraints示例 SpringBoot集成自动验证 集成maven依赖 验证RequestBody.Form对象参数 验证简单参数 验证指定分组 全局controller验证异常处理 自定义constraints @DateFormat @PhoneNo 使用自定义constraint注解 问题 提到输入参数的基本验证(非空.长度.大小.格式-),在以前我们还是通过手写代码,各种if.else.StringUtils.isEmpty.Colle

  • java基础开发泛型类的详解

    目录 前言 泛型概念 泛型类 结论 前言 在软件开发中,有许多执行过程很类似,许多人使用复制粘贴完成功能,这种做法虽然编译器不会报错,但会使用波浪线给出提示,给以后的维护带来了很大的隐患.这种情况开发人员通常根据需要成员抽取公用方法.公用类或使用继承完成,提高了代码的复用.但是,在一些特殊情况(如执行过程中会使用到对象,这些对象操作相同,但具体的模块有有所区别),此时只能使用泛型完成代码的复用. 泛型概念 所谓泛型就是将类型由原来的具体类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式

  • Java SpringBoot自动装配原理详解及源码注释

    目录 一.pom.xml文件 1.父依赖 2.启动器: 二.主程序: 剖析源码注解: 三.结论: 一.pom.xml文件 1.父依赖 主要是依赖一个父项目,管理项目的资源过滤以及插件! 资源过滤已经配置好了,无需再自己配置 在pom.xml中有个父依赖:spring-boot-dependencies是SpringBoot的版本控制中心! 因为有这些版本仓库,我们在写或者引入一些springboot依赖的时候,不需要指定版本! 2.启动器: 启动器也就是Springboot的启动场景; 比如sp

  • Java Web开发环境配置详解

    这是进行Java Web开发必备的一个过程,仅供新手参考,高手可以忽略! 先看看要安装的东西: jdk下载地址:http://www.jb51.net/softs/214120.html eclipse下载:http://www.jb51.net/softs/143046.html MySQL下载:http://www.jb51.net/softs/40589.html tomcat下载:http://www.jb51.net/softs/417569.html 各位也可以去官网上下载,版本不一

  • 基于java Springboot实现教务管理系统详解

    目录 视频演示 研究背景 我国教务现状与反思 主要技术和环境: 功能截图: 总结: 视频演示 研究背景 在当今信息社会发展中中,计算机科学的飞速发展,大多数学校开始注意办公效率的发展是很关键,对学校的管理起到举足轻重的作用.基于 Internet 网络的信息服务,快速成长为现代学校中一项不可或缺的内容措施.很多校园都已经不满意商务办公管理的缓慢成长方式.学院的需求是一个功能强大的,能提供完善管理,管理信息系统的速度.社会持续向前发展,尤其是大多地方普及计算机,计算机应用已经开始向大容量的数据存储

随机推荐