SpringBoot框架的搭建--学习详细流程

本文详述了SpringBoot框架的搭建过程,包括IDEA的安装、Maven配置、SpringBoot实例代码调试、热部署、XML转Java配置、属性注入以及yaml文件的使用。通过实例讲解,覆盖了从新建项目到配置数据库和拦截器的全过程。
摘要由CSDN通过智能技术生成

一、前期准备

 1. 开发工具:IntelliJ IDEA
 2. 百度搜索--IntelliJ  IDEA--Ultimate版本
 3. lanyu注册码:淘宝上购买JetBrain全家桶
 4. 安装教程:https://www.runoob.com/w3cnote/intellij-idea-usage.html

· 安装过程中忽略的步骤和截图都是next
在这里插入图片描述在这里插入图片描述

http://idea.lanyus.com/
替换内容:现将host复制出来
0.0.0.0 account.jetbrains.com
0.0.0.0 www.jetbrains.com

在这里插入图片描述

创建一个springboot工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述遇到问题:如果pom文件的前面不是一个大M,修改方式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果计算机中已经有了Maven,IntelliJ自带的内置的Maven插件,在当前计算机的目录下
C:\Users\Administrator\.m2\repository

在这里插入图片描述

spring boot官网:
https://spring.io/projects/spring-boot/

https://start.spring.io/

在这里插入图片描述在这里插入图片描述

IDE连接数据库详细步骤:

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

.idea目录和.mvn目录与开发工具有关,不是源码

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

修改IDE中字体的大小

在这里插入图片描述

利用鼠标的滚轮控制字体大小

在这里插入图片描述

课后作业:需要在application.properties文件中配置

#前台表单提交字符串转换为Date
spring.mvc.date-format=yyyy-MM-dd HH:mm:ss

#后台的Date类型转换指定格式的字符串在json当中
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

在这里插入图片描述

Springboot的实例代码

在这里插入图片描述在这里插入图片描述

正常情况:蓝色的文件夹--java文件  |  绿色的文件夹--test测试文件
如果文件夹没有颜色,说明不是Maven工程,进行修改:

在这里插入图片描述

工程连接数据库进行访问:

在这里插入图片描述

控制台打印结果:

在这里插入图片描述

从Controller层到Service层的代码调试过程

Book.java

package com.neuedu.demo1.model;

import java.util.Date;

public class Book {
   

    // 包装类和基本数据类型的区别
    private Integer bookNo;

    private String  bookName;

    private String author;

    private Date date;

    // 快速生成构造函数和get、set方法
    // 快捷键:alt+enter(单独生成单个属性,鼠标定位)
    //         alt+insert(批量创建),shift+上下选中回车
    public Integer getBookNo() {
   
        return bookNo;
    }

    public void setBookNo(Integer bookNo) {
   
        this.bookNo = bookNo;
    }

    public String getBookName() {
   
        return bookName;
    }

    public void setBookName(String bookName) {
   
        this.bookName = bookName;
    }

    public String getAuthor() {
   
        return author;
    }

    public void setAuthor(String author) {
   
        this.author = author;
    }

    public Date getDate() {
   
        return date;
    }

    public void setDate(Date date) {
   
        this.date = date;
    }

    public Book(Integer bookNo, String bookName, String author, Date date) {
   
        this.bookNo = bookNo;
        this.bookName = bookName;
        this.author = author;
        this.date = date;
    }

    public Book() {
   

    }
}

在这里插入图片描述
在这里插入图片描述

Lombok的安装
Lombok的优点:以简单的注解形式来简化java代码,提高开发人员的开发效率

1.Lombok自动生成实体类中的get/set/toString等方法
  <scope>provided</scope>的含义是:只在编译期起作用
2.在Pom.xml文件中添加依赖:
    https://mvnrepository.com/artifact/org.projectlombok/lombok/1.18.8
    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
	<dependency>
   	    <groupId>org.projectlombok</groupId>
    	<artifactId>lombok</artifactId>
    	<version>1.18.8</version>
   		<scope>provided</scope>
	</dependency>
3.使IntelliJ使用默认的仓库和本地的Maven仓库合并
4.使用lombok
// 1.在项目当中引入lombok依赖,作用域:provided(只在编译器,不会被打包进项目)
// 2.给IDE装lombok插件

在这里插入图片描述在这里插入图片描述

Book.java
package com.neuedu.demo1.model;

//import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
//import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data public class Book {
   

    // 包装类和基本数据类型的区别
    private Integer bookNo;

    private String  bookName;

    private String author;

//    // 方式二:日期格式转换
//    // 局部配置优先于全局配置
//    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy/MM/dd")
    private Date publishDate;
//
//    // 快速生成构造函数和get、set方法
//    // 快捷键:alt+enter(单独生成单个属性,鼠标定位)
//    //         alt+insert(批量创建),shift+上下选中回车
//
//    public Book() {
   
//    }
//
//    public Book(Integer bookNo, String bookName, String author, Date publishDate) {
   
//
//        this.bookNo = bookNo;
//        this.bookName = bookName;
//        this.author = author;
//        this.publishDate = publishDate;
//    }
//
//    public Integer getBookNo() {
   
//
//        return bookNo;
//    }
//
//    public void setBookNo(Integer bookNo) {
   
//        this.bookNo = bookNo;
//    }
//
//    public String getBookName() {
   
//        return bookName;
//    }
//
//    public void setBookName(String bookName) {
   
//        this.bookName = bookName;
//    }
//
//    public String getAuthor() {
   
//        return author;
//    }
//
//    public void setAuthor(String author) {
   
//        this.author = author;
//    }
//
//    public Date getPublishDate() {
   
//        return publishDate;
//    }
//
//    public void setPublishDate(Date publishDate) {
   
//        this.publishDate = publishDate;
//    }
}
BookController.java
package com.neuedu.demo1.controller;
import com.neuedu.demo1.model.Book;
import com.neuedu.demo1.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class BookController {
   

    @Autowired
    private BookService bookService;

    // 请求路径/book/1001
    @RequestMapping("/book/{id}")
    public Book findBook(@PathVariable("id") Integer id){
   

        Book book = new Book();
        book.getAuthor();
        // 1.在项目当中引入lombok依赖,作用域:provided(只在编译器,不会被打包进项目)
        // 2.给IDE装lombok插件
        return bookService.findBookById(id);
    }
}

Intellij中 springboot 热部署 (两种方式)

Intellij中 springboot 热部署–方式一
在edit configuration 中修改 on update action 属性的值为:hot swap classes and update trigger File if failed

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

方式一的缺点:在类中添加新的方法时,报错
理由:java类都是编译生成字节码文件,新的方法字节码文件中不存在
Intellij中 springboot 热部署–方式二【热重启】

                
Spring Boot和MyBatis-Plus是现代Java应用开发中的两个流行框架组合,它们一起简化了企业级应用程序的快速搭建。以下是一个基本的Spring Boot + MyBatis-Plus的整体开发流程: 1. **项目初始化**: - 创建一个新的Spring Boot项目(使用Maven或Gradle构建工具)。 - 添加Spring Boot Web、Spring Data JPA和MyBatis-Plus的依赖。 2. **数据库配置**: - 配置数据源(如HikariCP, Druid, 或者Spring Boot内置的DataSource)。 - 定义数据库连接池和JDBC驱动。 3. **实体类映射**: - 创建Java实体类(Entity),它们将对应数据库表结构。 - 使用MyBatis-Plus的Model Generator工具自动生成基础CRUD操作的代码。 4. **Mapper接口生成**: - 通过MyBatis-Plus的全局配置文件(GlobalConfig),指定Mapper接口生成的位置。 5. **Service层编写**: - 实现业务逻辑的服务类(Service),这些类通常会依赖于MyBatis-Plus的Mapper接口进行数据库操作。 6. **Repository接口和实现**: - 如果需要,可以创建Repository接口,继承自MyBatis-Plus的BaseMapper,进一步定制化查询。 7. **Controller层处理**: - 创建RESTful API控制器(Controller),调用Service层的方法,并返回JSON响应给客户端。 8. **配置数据初始化**: - 编写Spring Boot的启动类(Application)中的main方法,可能包含一些数据初始化操作。 9. **测试**: - 使用单元测试(JUnit, TestNG等)确保各个组件正常工作,如Service和Mapper接口的测试。 10. **部署**: - 部署项目到生产环境,如Tomcat, Jetty, 或者云服务器上的Web容器。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值