SpringBoot2开发从0开始Spring Initailizr初始化

目录
  • 一、Lombok
    • 1. 引入 lombok 依赖
    • 2. idea 安装 lombok 插件
    • 3. 使用 lombok 修改之前的代码
  • 二、devtools
    • 1.引入依赖
    • 2.使用
  • 三、Spring Initailizr

一、Lombok

还记得之前示例代码里,写javabean的时候往往要写一堆模板类的代码,比如:get、set、有参/无参构造方法、重写 toString 这些。

package com.pingguo.boot.bean;

public class Pet {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Pet(String name) {
        this.name = name;
    }

    public Pet() {
    }

    @Override
    public String toString() {
        return "Pet{" +
                "name='" + name + '\'' +
                '}';
    }
}

现在使用 lombok 可以简化 JavaBean 的开发。

1. 引入 lombok 依赖

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

2. idea 安装 lombok 插件

在设置里搜索,安装即可。

3. 使用 lombok 修改之前的代码

使用 lombok 修改上面的 Pet 类,就可以这么写了:

package com.pingguo.boot.bean;

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

@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class Pet {
    private String name;
}

@Data:设置get、set 。

@ToString:重写 toString 方法。

@AllArgsConstructor:全参构造器。

@NoArgsConstructor:无参构造器。

如果要写部分参数的构造器,那么还是像之前那样自定义即可。

此外,还可以使用@Slf4j,来使用日志:

@RestController
@Slf4j
public class HelloController {

    @Autowired
    Car car;

    @RequestMapping("/car")
    public Car car() {
        return car;
    }

    @RequestMapping("/hello")
    public String Hello() {
        log.info("请求来了......");
        return "Hello SpringBoot2 你好";
    }
}

启动应用,访问请求http://localhost:8080/hello

二、devtools

官网文档有使用说明。

就是有一组额外的工具,可以让我们更愉快的开发。

1.引入依赖

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

引入后就可以使用热更新了。

2.使用

比如,代码有改动后,使用ctrl+F9重新构建之后,devtools 就会自动重新加载。

这里改动一个请求地址,改成/hello2:

@RequestMapping("/hello2")
    public String Hello() {
        log.info("请求来了......");
        return "Hello SpringBoot2 你好";
    }

ctrl+F9后访问原路径http://localhost:8080/hello,就不行了。

应该访问http://localhost:8080/hello2

貌似按ctrl+F9也不比点重启要放便什么。

没错,其实这里就是做的重启,官方也说了,如果想要真正的热更新还是推荐去使用付费的JRebel

此外,devtools 还有别的功能,只不过暂时还用不上。

三、Spring Initailizr

初始化向导,可以帮助我们快速创建出 springboot 应用。

下一步。

继续下一步。亮点来了,这里不需要关注我们要引入哪些 starter 了,直接这里勾选要使用的场景就好。

比如,还要使用数据库,也可以继续勾选:

还要用 redis,没问题继续勾选:

最后这里选个 springboot 版本。

继续下一步。

finish。

完成创建后,可以看下 pom.xml:

已经把勾选的各种场景导入进去了。另外,开发 web 应用的各种目录结构也齐全了,直接上手开发即可。

以上就是SpringBoot2开发技巧从0开始的详细内容,更多关于SpringBoot2从0开发的资料请关注我们其它相关文章!

(0)

相关推荐

  • SpringBoot2.6.x默认禁用循环依赖后的问题解决

    目录 一.序言 二.问题复原 1.代码说明 2.错误示例 三.问题解决 1.粗暴解决 2.优雅解决 四.小结 一.序言 SpringBoot 2.6.x不推荐使用循环依赖,这是一个好消息,SpringBoot从底层逐渐引导开发者书写规范的代码,同时也是个忧伤的消息,循环依赖的应用场景实在是太广泛了. 如果从低版本升级到2.6.x,那么很大概率遇到的第一个问题便是循环依赖问题. 二.问题复原 1.代码说明 下面风格的代码比较普遍:两个类都有调用对方方法的需求,因此很容易写成循环引用. @Servi

  • 分布式调度XXL-Job整合Springboot2.X实战操作

    一.定时任务的使用场景和常见的定时任务 二.如何选择哪一个分布式任务调度平台 三.xxl-job的设计思想 ​ 四.XXL-Job具有哪些特性 五.XXL-Job实战操作 一.定时任务的使用场景和常见的定时任务 某个时间定时处理某个任务.发邮件.短信.消息提醒.订单通知.统计报表等 定时任务划分  单机定时任务:    单机的容易实现,但应用于集群环境做分布式部署,就会带来重复执行    解决方案有很多比如加锁.数据库等,但是增加了很多非业务逻辑 分布式调度:      把需要处理的计划任务放入

  • springboot2.6.4集成swagger3.0遇到的坑及解决方法

    Swagger简介 号称:世界上最流行的API框架 PestFul API文档在线自动生成器 --> API文档与API定义同步更新可以直接运行,测试API接口 支持多种语言 强调:我的springboot版本2.6.4,swagger为3.0,其他版本可能修改不成功,大家可以试试. 在集成的时候出现了很多问题 坑一:首先先排除问题 ,我使用的springboot版本2.6.4,导入的swagger依赖如下 <dependency> <groupId>io.springfox

  • Springboot2.6.x高版本与Swagger2版本冲突问题解决方法

    目录 问题: 原因 完整解决方案: 问题: Spring Boot 2.6.x版本引入依赖 springfox-boot-starter (Swagger 3.0) 后,启动容器会报错: Failed to start bean ‘ documentationPluginsBootstrapper ‘ ; nested exception… 原因 Springfox 假设 Spring MVC 的路径匹配策略是 ant-path-matcher,而 Spring Boot 2.6.x版本的默认匹

  • SpringBoot2.x设置Session失效时间及失效跳转方式

    目录 设置Session失效时间及失效跳转 Session失效后如何跳转到Session失效地址 设置Session失效的几种方式 如果是1.5.6版本 还可以设置 设置Session失效时间及失效跳转 #Session超时时间设置,单位是秒,默认是30分钟  server.servlet.session.timeout=10 然而并没有什么用,因为SpringBoot在TomcatServletWebServerFactory代码中写了这个     private long getSessio

  • SpringBoot2开发从0开始Spring Initailizr初始化

    目录 一.Lombok 1. 引入 lombok 依赖 2. idea 安装 lombok 插件 3. 使用 lombok 修改之前的代码 二.devtools 1.引入依赖 2.使用 三.Spring Initailizr 一.Lombok 还记得之前示例代码里,写javabean的时候往往要写一堆模板类的代码,比如:get.set.有参/无参构造方法.重写 toString 这些. package com.pingguo.boot.bean; public class Pet { priva

  • Spring的初始化和XML解析的实现

    前言 Spring是什么?它是一个应用程序框架,为应用程序的开发提供强大的支持,例如对事务处理和持久化的支持等:它也是一个bean容器,管理bean对象的整个生命周期,维护bean的各种存在状态,例如bean对象的实例化.销毁.bean的单实例和多实例状态等. Spring作为Java发展史上不可忽视的存在,说他重新定义了Java也不为过.它功能强大,着实为日常开发提供了大大的便利.表面越简单的东西,背后越复杂. 从本章节开始,我们一起分析Spring的源码,看它到底是怎么样来实现我们常说常用的

  • 一个简单的Spring容器初始化流程详解

    前言 首先我们初始化一个最简单的容器,用这个容器研究初始化的流程. 下面就是一个再简单不过的IoC容器了,该容器包含了一个名为beanA的bean,我们初始化容器后,取出该Bean,并调用方法. public class BeanA { private String testStr = "Test"; public BeanA(){ System.out.println("Running A"); } public void sayHello(){ System.o

  • Spring Bean初始化及销毁多种实现方式

    这篇文章主要介绍了Spring Bean初始化及销毁多种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.前言 日常开发过程有时需要在应用启动之后加载某些资源,或者在应用关闭之前释放资源.Spring 框架提供相关功能,围绕 Spring Bean 生命周期,可以在 Bean 创建过程初始化资源,以及销毁 Bean 过程释放资源.Spring 提供多种不同的方式初始化/销毁 Bean,如果同时使用这几种方式,Spring 如何处理这几

  • c# 9.0新特性——模块初始化器

    作者:MarkKang 出处:https://www.cnblogs.com/markkang/ 1 背景动机 关于模块或者程序集初始化工作一直是C#的一个痛点,微软内部外部都有大量的报告反应很多客户一直被这个问题困扰,这还不算没有统计上的客户.那么解决这个问题,还有基于什么样的考虑呢? 在库加载的时候,能以最小的开销.无需用户显式调用任何接口,使客户做一些期望的和一次性的初始化. 当前静态构造函数方法的一个最大的问题是运行时会对带有静态构造函数的类型做一些额外的检查.这是因为要决定静态构造函数

  • Spring WebMVC初始化Controller流程详解

    目录 SpringWebMVC初始化Controller流程 获取容器初始化的所有beanName(父子容器概念) 获取所有声明为Controller类的beanName 开始处理这种类型的beanName @Controller类中初始化问题 第一种方法 第二种方法 Spring WebMVC初始化Controller流程 此篇文章开始之前先向大家介绍一个接口 InitializingBean 这个接口的作用如果了解spring生命周期的应该知道 ,这个接口的作用就是在bean初始化之后会执行

  • SpringBoot2学习之springboot与spring区别分析

    目录 springboot与spring区别 一.spring 可以做什么 二.springboot SpringBoot 优点 SpringBoot 缺点 三.如何学习 springboot 文档结构 springboot与spring区别 一.spring 可以做什么 之前已经学习了 spring 的 IOC容器.AOP.springMVC 开发web应用等等,这里的 spring 实际是指 spring-framework 这个框架. 然而,宏观上的 spring 是一个生态圈. spri

  • 微信小程序(微信应用号)开发工具0.9版安装详细教程

    微信小程序全称微信公众平台·小程序,原名微信公众平台·应用号(简称微信应用号) 声明 •微信小程序开发工具类似于一个轻量级的IDE集成开发环境,目前仅开放给了少部分受微信官方邀请的人士(据说仅200个名额)进行内测,因此目前未受到邀请的人士只能使用破解版: •本破解版资源来自于网上,与本人无关,仅供技术开发人员研究之用: •由于尚属内测阶段,因此迭代更新非常快,后续很可能由于升级而导致暂时无法使用. 特别注意 •由于目前发布的0.9版本必须验证才能登录(估计是为了验证是否为内测人士),因此必须先

  • Spring中初始化泛型类的方法实例

    首先来看下在 Java 中对于泛型类型,比如这样简单的类定义 class Processor<T> {} 如果直接初始化时要指定具体类型的话,我们可以这么写 Processor<String> processor = new Processor<>(); //Java 7 及以上版本 Spring 对基本泛型的初始化 如果我们要用 Spring 容器来初始化这个类,比如给上面那个类加个 @Named 注解 @Named class Processor<T>

  • Spring框架初始化解析

    一.Spring能做什么? Spring的主要目的是使J2EE易用和促进好编程习惯. 倒置控制容器 Spring的设计核心是 org.springframework.beans 包, 为与JavaBeans一起工作而设计. 这个包一般不直接被用户使用, 但作为基础为更多的其他功能服务. 下一个较高层面的抽象是"Bean Factory". Spring bean factory 是一个普通的Factory,它使对象能够按名称获取,并且能管理对象之间的关系. Bean factories

随机推荐