SpringBoot超详细笔记(整合SSM附源码)

本文详细介绍SpringBoot与SSM框架整合的过程,涵盖环境搭建、案例演示、lombok使用、HTML页面集成、thymeleaf模板应用等内容,适合初学者快速上手。

SpringBoot超详细笔记(整合SSM附源码)

引言:

       本文主要分享了有关SpringBoot相关的知识,包括:SpringBoot的简介、SpringBoot环境的搭建、简单是SpringBoot案例、lombok的简单应用、在SpringBoot中加入HTML页面时的操作、SpringBoot的目录解析、SpringBoot整合SSM_html+vue+jquery(附源码)、thymeleaf模板的简述及使用、SpringBoot整合SSM_thymeleaf(附源码);

文章目录

1. SpringBoot简介

       SpringBoot设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置;SpringBoot不是一门新技术,只是将Spring、SpringMVC等封装起来,就是一个工具集;

SpringBoot特点:

  • 不需要模板化的配置
  • 整合三方框架时,只需要导入相应的starter依赖包,会自动整合
  • 默认只有一个.properties是我配置文件
  • 部署工程时采用的是jar包的方式,内部自动依赖Tomcat容器,提供了多环境的配置
  • SpringCloud需要建立在SpringBoot的基础上

2. SpringBoot环境的搭建

2.1 首先创建Maven项目

创建Maven项目

2.2 GVA坐标

GAV坐标

GAV坐标

2.3 在Maven项目中加入SpringBoot

加入springboot

2.4 选择构建项目的类型_aliyun

填入aliyun网址

2.5 项目描述

编写目录

2.6 指定SpringBoot版本和需要的依赖

本项目选择2.1.14版本,加入了Lombok、Spring Web、Thymeleaf依赖

添加依赖

2.7 编写Controller

编写代码

2.8 项目运行

2.8.1 运行启动类的main方法

在这里插入图片描述

运行成功

2.8.2 maven命令

mvn spring-boot:run

2.9 结果界面

运行成功

3. lombok应用_慎用

3.1 lombok简介

          lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些Java类中的大量样板代码,lombok能够达到的效果就是在源码中不需要写一些通用的方法,但是在编译生成的字节码文件中会帮我们生成这些方法;

3.2 添加IDEA对lombok的支持

在setting中搜索lombok,安装

在这里插入图片描述

3.3 部分注解的使用

  • @Setter:生成Setting方法
  • @Getter:生成Getter方法
  • @NoArgsConstructor:生成无参构造
  • @AllArgsConstructor:生成有参构造
  • @Data :代替@Setter、@Getter、toString

4. 加入HTML页面

4.1 编写index.html

resources/templates下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HTML页面</title>
</head>
<body>
<h2>SpringBoot Html View</h2>
<form action="add" method="POST">
    UserName:<input type="text" name="username"/><br/>
    Password:<input type="password" name="password"/><br/>
    Tel:<input type="text" name="tel"/><br/>
    <input type="submit" value="add"/>
</form>
</body>
</html>

4.2 编写success页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>成功界面</title>
</head>
<body>
<h2>数据交互成功</h2>
</body>
</html>

4.3 编写初始化页面

当访问localhost:8080时显示该页面

package com.sx.kak.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * Created by Kak on 2020/8/31.
 */
@Controller
public class PageController {
   
   
    @RequestMapping("/")
    public String showIndex(){
   
   
        return "index";
    }
}

4.4 编写UserInfo

package com.sx.kak.vo;
import lombok.*;

/**
 * Created by Kak on 2020/8/31.
 */

@NoArgsConstructor  //生成无参构造
@AllArgsConstructor //生成有参构造
@Data   //代替@Setter、@Getter、toString
public class UserInfo {
   
   
    private String username;
    private String password;
    private String tel;
}

4.5 编写UserInfoController

package com.sx.kak.controller;

import com.sx.kak.vo.UserInfo;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Kak on 2020/8/31.
 */
@Controller
public class UserInfoController {
   
   
    //接收表单数据
    @RequestMapping(value="add",method=RequestMethod.POST)
    public String getUserInfo(UserInfo userInfo){
   
   
        System.out.println(userInfo);
        return "success";
    }

    //全查
    @RequestMapping("/userInfo")
    @ResponseBody
    public ResponseEntity<List<UserInfo>> findUser(){
   
   
        ArrayList<UserInfo> list = new ArrayList<>();
        list.add(new UserInfo("kaka1","123456","123456"));
        list.add(new UserInfo("kaka2","123456","123456"));
        list.add(new UserInfo("kaka3","123456","123456"));
        return new ResponseEntity<List<UserInfo>>(list, HttpStatus.OK);
    }
}

4.6 结果界面

表单数据

成功传入后台

5. SpringBoot的目录结构

目录结构

6. xml与html的区别联系

xml与html区别与联系:

  • 联系:二者均可以使用浏览器解析,都在内存中形成dom模型
  • 区别:
    1. xml:只能有一个root(根)节点
    2. xml:自定义标记;而html预定义标记
    3. xml:区分大小写,html不区分
    4. xml:中标记的属性值必须使用引号,而html可以不用
    5. xml:标记必须关闭;而html可以不关闭
    6. xml:不可以交叉嵌套

7. SpringBoot整合SSM_html+vue+jquery

在这里插入图片描述

7.1 创建数据库

CREATE TABLE student(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(50) NOT NULL,
	sex VARCHAR(10) DEFAULT 'man',
	age VARCHAR(5)
) CHARSET = utf8;

7.2 编写实体类

在po包下编写实体类

package com.sx.kak.po;

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

/**
 * Created by Kak on 2020/8/31.
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
   
   
    private int id;
    private String name;
    private String sex;
    private String age;

}

7.3 编写StudentMapper.java

在mapper中编写StudentMapper

package com.sx.kak.mapper;

import com.sx.kak.po.Student;

import java.util.List;

/**
 * Created by Kak on 2020/8/31.
 */

public interface StudentMapper {
   
   
    public List<Student> findAll();
    public Student findOneById(int id);
    public void addStudent(Student student);
    public void updateStudent(Student student);
    public void deleteStudent(int id);
}

7.4 编写StudentMapper.xml

在resources/mapping下编写

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sx.kak.mapper.StudentMapper">
    <select id="findAll" resultType="com.sx.kak.po.Student">
        select id,name,sex,age from student
    </select>

    <select id="findOneById" parameterType="int" resultType="com.sx.kak.po.Student">
        SELECT id,name,sex,age FROM student WHERE id=#{id}
    </select>

    <insert id="addStudent" parameterType="com.sx.kak.po.Student">
        insert into student (id,name,sex,age) VALUES (#{id},#{name},#{sex},#{age})
    </insert>

    <update id="updateStudent" parameterType="com.sx.kak.po.Student">
        UPDATE student set name=#{name},sex=#{sex},age=#{age} WHERE id=#{id}
    </update>

    <delete id="deleteStudent" parameterType="int">
        DELETE FROM student where id=#{id}
    </delete>
</mapper>

7.5 修改SpringbootSsmApplication

设置mapper扫描基础包路径

package com.sx.kak;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
//设置mapper扫描基础包路径
@MapperScan(basePackages = {
   
   "com.sx.kak.mapper"})
public class SpringbootSsmApplication {
   
   
    public static void main(String[] args) {
   
   
        SpringApplication.run(SpringbootSsmApplication.class, args);
    }

}

7.6 编写StudentService

在service下


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Willing卡卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值