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项目

2.2 GVA坐标


2.3 在Maven项目中加入SpringBoot

2.4 选择构建项目的类型_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模型
- 区别:
- xml:只能有一个root(根)节点
- xml:自定义标记;而html预定义标记
- xml:区分大小写,html不区分
- xml:中标记的属性值必须使用引号,而html可以不用
- xml:标记必须关闭;而html可以不关闭
- 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下

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

被折叠的 条评论
为什么被折叠?



