【SpringBoot】快速入门

前言

SpringBoot和SpringMVC区别

两者没有必然的联系,SpringBoot相当于SpringMVC的升级版

SpringBoot特点

1.化繁为简,简化配置
2.备受关注,是下一代框架
3.微服务的入门级微框架
当前流行架构是微服务,Spring家族为微服务提供一整套组件统称SpringCloud,SpringCloud是建立在SpringBoot的基础之上的,学习SpringBoot是为以后微服务打基础。
【SpringBoot】快速入门_第1张图片

1.第一个SpringBoot程序

⚠️注意:请尽可能的保持版本一致

  • jdk :1.8.191
  • maven:3.5.3
  • SpringBoot:2.1.3
    【SpringBoot】快速入门_第2张图片
    【SpringBoot】快速入门_第3张图片
    【SpringBoot】快速入门_第4张图片
    ⚠️注意:Spring Boot版本一定要选正式版,即版本号后没有(SANPSHOT)字样。带有(SANPSHOT)字样的版本只提供一个快照功能。
    【SpringBoot】快速入门_第5张图片
    【SpringBoot】快速入门_第6张图片
    ⚠️删除以下不需要的文件
    【SpringBoot】快速入门_第7张图片

⚠️在pom.xml中手动更改SpringBoot版本为2.1.3,目的是为了与此教程一致,避免因版本不同造成的问题。

运行项目

HelloWorld
【SpringBoot】快速入门_第8张图片
【SpringBoot】快速入门_第9张图片
【SpringBoot】快速入门_第10张图片

2.自定义属性配置

配置方式

方式一:在application.properties中配置
【SpringBoot】快速入门_第11张图片
【SpringBoot】快速入门_第12张图片
方式二:在application.yml中配置(推荐)
⚠️其实两者写法没有区别,只不过是展示方式不同,后者会将相同内容折叠起来,更加清晰,故推荐。
⚠️配置中key:后一定要加一个空格,复制不符合文件格式,项目启动会报错
【SpringBoot】快速入门_第13张图片
【SpringBoot】快速入门_第14张图片

使用

方式一:单个配置
【SpringBoot】快速入门_第15张图片
【SpringBoot】快速入门_第16张图片
【SpringBoot】快速入门_第17张图片
方式二:配置类

【SpringBoot】快速入门_第18张图片
【SpringBoot】快速入门_第19张图片
⚠️出现此提示的解决办法:Maven引入依赖


    org.springframework.boot 
    spring-boot-configuration-processor 
    true 

【SpringBoot】快速入门_第20张图片
【SpringBoot】快速入门_第21张图片
【SpringBoot】快速入门_第22张图片

版本控制

【SpringBoot】快速入门_第23张图片
【SpringBoot】快速入门_第24张图片
【SpringBoot】快速入门_第25张图片
【SpringBoot】快速入门_第26张图片
【SpringBoot】快速入门_第27张图片
【SpringBoot】快速入门_第28张图片

3.Controller的使用

注解 位置 说明 举例
@Controller 类名 处理Http请求
@ResponseBody 类名、方法名 返回数据
@RestController 类名 Spring4后新加
@RestMapping 类名 配置url映射 @RestMapping("/hello")
@gettMapping 方法名 get请求 @gettMapping("/say")
@postMapping 方法名 post请求 @postMapping("/say")
@RequestMapping 类名、方法名 get、post请求 @RequestMapping("/say")
@PathVariable 方法参数中 获取url中的数据
@RequestParam 方法参数中 获取请求参数的值

在这里插入图片描述
⚠️@Controller + @ResponseBody = @RestController
⚠️@GetMapping 可以传入数组

⚠️@PathVariable
【SpringBoot】快速入门_第29张图片
【SpringBoot】快速入门_第30张图片

4.Spring-Data-Jap

定义

JPA(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate、TopLink等

设计

【SpringBoot】快速入门_第31张图片

在pom.xml中添加依赖

⚠️不用填写版本号,SpringBoot已经为我们选择号了版本,SpringBoot的优点之一
⚠️添加完依赖记得Maven-》reimport


   org.springframework.boot
   spring-boot-starter-data-jpa


  mysql
  mysql-connector-java

数据库操作

在application.yml配置

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://172.0.0.1:3306/luckymoney
    username: root
    password: 123456

  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

创建数据库 luckymoney

创建表

⚠️ 不需要执行sql
⚠️@GeneratedValue 自增
1.创建Luckymoney实体类
【SpringBoot】快速入门_第32张图片

package com.imooc.luckymoney;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.math.BigDecimal;

/**
 *
 * @author 背影男神
 * @date 2020/7/11
 */
@Entity
public class Luckymoney {

    @Id
    @GeneratedValue
    private Integer id;

    private BigDecimal money;

    /**
     * 发送方
     */
    private String producer;

    /**
     * 接收方
     */
    private String consumer;

    public Luckymoney(){

    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public String getProducer() {
        return producer;
    }

    public void setProducer(String producer) {
        this.producer = producer;
    }

    public String getConsumer() {
        return consumer;
    }

    public void setConsumer(String consumer) {
        this.consumer = consumer;
    }
}

2.运行后则自动创建表

5.事物管理

你可能感兴趣的:(Spring,Boot)