栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot笔记

 

目录

1.SpringBoot简介

2.构建一个SpringBoot工程

 3.SpringBoot整合Web模块对外提供接口(整合SpringMVC)

4.yml配置文件

5.SpringBoot整合Mybatis

6.SpringBoot实现事务管理

7.SpringBoot整合Mybatis-Plus

8.SpringBoot整合Thymeleaf(作用类似于jsp)

 什么是前后端分离?

9.SpringBoot的自动装配


1.SpringBoot简介

 约定>配置>编码(零架构配置)

SpringBoot并不是什么新的框架,简单来说SpringBoot是Spring官方提供的一个进行Spring应用快速搭建的工具(脚手架),能够快速的整合很多第三方的框架或者组件。

SpringBoot的核心=SpringIOC容器+自动装配

2.构建一个SpringBoot工程

2.1 创建一个Maven工程

2.2添加SpringBoot的父工程


    org.springframework.boot
    spring-boot-parent
    2.3.0.RELEASE

 2.3 添加SpringBoot的核心依赖


    
        org.springframework.boot
        spring-boot-starter
    

 2.4 添加SpringBoot整合Maven的插件


    
        
            org.springframework.boot
            spring-boot-maven-plugin
            2.3.0.RELEASE
        
    

 2.5 编写启动类(main方法)

package com.qf.application;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

 2.6 提供SpringBoot的核心配置文件(application.yml)

 

 3.SpringBoot整合Web模块对外提供接口(整合SpringMVC)

3.1 添加web模块的依赖(如添加,则前面的spring核心依赖可以省略)


    org.springframework.boot
    spring-boot-starter-web

3.2 提供对外接口(controller)

package com.qf.application.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {

    @RequestMapping("/demo")
    public String demo(String name){
        System.out.println("接收到客户端参数:" + name);
        return "Hello World!";
    }
}

注意:SpringBoot默认只会扫描主包(启动类所在包)下的所有组件(@Component),当前一些组件,必须放在主包下才能生效。

通过以下方式可以改变主包路径:

在启动类上注解

@SpringBootApplication

@ComponentScan("com.qf")

4.yml配置文件

yml | yaml只是一种新型的配置文件的格式,仅此而已。让配置文件看起来更加具有层次感。

注意:1.yml文件的格式必须注意缩进的正确性

           2.冒号后面必须根一个空格

yml文件数据的读取

1.单值与多值读取 

5.SpringBoot整合Mybatis

原来mybatis整合Spring:

1.添加相关依赖

2.编写映射接口/映射文件

3.配置jdbc数据源

4.配置bean :SqlsessionFactoryBean 注入Datasource 映射文件扫描,其他的相关配置

5.配置映射接口扫描

5.1添加相关依赖


    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    2.1.4




    mysql
    mysql-connector-java

5.2编写映射文件、映射接口

5.3配置jdbc的相关属性(application.yml)

spring:
  datasource:
    url: jdbc:mysql:///db2106?serverTimezone=GMT%2B8
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

5.4 配置映射接口扫描(启动类)

@MapperScan("com.qf.dao")

5.5 配置映射接口扫描(application.yml)

mybatis:

  mapper-locations: classpath:mapper/*.xml

6.SpringBoot实现事务管理

6.1启动类添加注解

@EnableTransactionManagement

6.2 业务方法上添加注解

@Transactional

7.SpringBoot整合Mybatis-Plus

官网:简介 | MyBatis-Plus

7.1 添加相关依赖(有可能会跟mybatis版本起冲突,则前面的mybatis可以省略)


    com.baomidou
    mybatis-plus-boot-starter
    3.4.0

7.2 映射接口继承固定接口

package com.qf.dao;
import com.baomidou.mybatisplus.core.mapper.baseMapper;
import com.qf.entity.Student;

public interface StuDao extends baseMapper {

}

7.3 实体类 添加主键的注解(如果想用Integer,也可以int)

@Data
@Accessors(chain = true)
public class Student implements Serializable {

  @TableId(type = IdType.AUTO)
  private Integer id;
  private String name;
  private Integer age;
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date birthday;
  private Date createTime = new Date();
  private Date updateTime = new Date();
  private Integer status = 0;
  private Integer delFlag = 0;
}

7.4 修改service层的实现接口  

public interface IStuService extends IService {

}

@Service
public class StuServiceImpl extends ServiceImpl implements IStuService {


}

注意:serviceImpl<泛型1,泛型2> 

泛型1:映射接口类型

泛型2:操作实体类的类型

7.5扫描映射文件(application.yml)

如果需要指定可以自定义,默认是下面

mybatis-plus:

  mapper-locations: classpath:mapper/*.xml

8.SpringBoot整合Thymeleaf(作用类似于jsp)

注意:@ResponseBody:把你的返回值放入响应体中,不经过视图解析器

8.1 添加依赖


    org.springframework.boot
    spring-boot-starter-thymeleaf

 8.2配置application.yml

spring:
  #配置页面缓存 - 开发关闭
  thymeleaf:
    cache: false

 8.3 提供视图文件,并且写入thymelea的命名空间

xmlns:th="http://www.thymeleaf.org"

 8.4 简单的使用




    
    Title


    学生列表页
    
id 姓名 年龄 生日
id 姓名 年龄 生日

 什么是前后端分离?

 

9.SpringBoot的自动装配

什么是自动装配? 需要让别人的SpringBoot工程能够自动加载我们自己开发组件的指定的配置类

9.1 创建一个第三方开源项目

9.2 添加依赖 


    
        org.springframework.boot
        spring-boot-starter
        2.3.0.RELEASE
    

9.3 实现组件核心功能和自动配置类

9.4 编写自动装配文件

resources/meta-INF/spring.factories 内容: org.springframework.boot.autoconfigure.EnableAutoConfiguration= org.example.config.MyAutoConfiguration

9.5 打包发布,其他SpringBoot工程依赖即可

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306971.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号