springboot学习-Springboot整合Mybatis

springboot学习

一:springboot概述


1:springboot概念

SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。 2014 年 4 月,Spring Boot 1.0.0 发布。Spring的顶级项目之一(https://spring.io)。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rEIYW2he-1656668769024)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654527921670.png)]

2:spring缺点

  • <1>配置繁琐

虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。所有这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring实用,但它要求的回报也不少。

  • <2>依赖繁琐

项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。

3:springboot特点

<1>自动配置

Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是SpringBoot自动完成的。

<2>起步依赖

起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

<3>辅助功能

提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。

4:重点

Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式

二:配置文件信息

1:application.properties

server.port=808
person.name=radan
person.age=20

:2:application.yml

person:
  name: radan
  age: 20
  address: lanzhou
server:
  port: 8000

3:yaml文件规则

基本规则:
大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tab键,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
使用#表示注释
字符串可以不用引号标注

4:yml文件数据结构

​ 对象:键值对的集合(简称 “映射或字典”)
​ 键值对用冒号 “:” 结构表示,冒号与值之间需用空格分隔
​ 数组:一组按序排列的值(简称 “序列或列表”)
​ 数组前加有 “-” 符号,符号与值之间需用空格分隔
​ 纯量(scalars):单个的、不可再分的值

5:yml值的单双引号的区别

字符串默认不用加上单引号或者双引号;

  1. “”:双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
    name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi
  2. ‘’:单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据
    name: ‘zhangsan \n lisi’:输出;zhangsan \n lis

6:读取配置文件的顺序

  1. application.properties>application.yml>application.yaml

三:profile配置方式

1:模拟springboot开发环境

  • application-dev.properties/yml 开发环境

  • application-test.properties/yml 测试环境

  • application-pro.properties/yml 生产环境

2:profile激活方式

  • <1>通过application.yml文件来配置项目具体的开发环境
spring:
  profiles:
    active: dev
  • <2>在VM options 指定:-Dspring.profiles.active=xxx

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xVk3oYxa-1656668769025)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654586850201.png)]

  • (3)命令行参数
java –jar xxx.jar --spring.profiles.active=xxx

在这里插入图片描述

#用来划分yml文件区域
server:
  port: 8081
spring:
  config:
    activate:
      on-profile: dev
---
server:
  port: 8082
spring:
  config:
    activate:
      on-profile: test
---
server:
  port: 8083
spring:
  config:
    activate:
      on-profile: pro
---
spring:
  profiles:
    active: test具体指定具体的环境

3:内置配置加载顺序

Springboot程序启动时,会从以下位置加载配置文件:

file:./config/:当前项目下的/config目录下
file:./ :当前项目的根目录
classpath:/config/:classpath的/config目录
classpath:/ :classpath的根目录(之前我们用的就是这种

4:项目外部配置加载顺序

将配置文件和jar包放在同一级的目录下的时候会被自动读取。
在target文件夹下创建一个config目录放上配置文件。(这种会优先读取)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zs8tcjz9-1656668769026)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654591782712.png)]

四:快速构建springboot

1:基于maven的的快速构建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-po51oTPM-1656668769028)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654585554559.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OjxmfbQy-1656668769028)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654585610984.png)]

2:基于springinitializr的构建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wISBadRz-1656668769029)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654585439958.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7vWXMVL0-1656668769029)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654585478522.png)]

五: springboot项目打jar流程

1:步骤

第一步:打开maven-点击Lifecycle中的package

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dckb46Wf-1656668769030)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654584490325.png)]

第二步:打包成功后会在控制台显示相应的信息(如图)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TsLDgh0C-1656668769030)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654584684033.png)]

第三步:打包结束后会在该模块下创建对应的target目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t2bKEpLz-1656668769031)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654584797349.png)]

第四步:在电脑的具体路劲下找到target目录下的jar,运行并检查是否正常

打开idea终端(命令行都可以)----tab键可以自动补全

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZlUXviRS-1656668769031)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654585102354.png)]

 cd .\springboot_initializr\target#进入到target目录下
 java -jar .\springboot_initializr-0.0.1-SNAPSHOT.jar
 #运行springbootjar包

如图springboot已启动起来了–端口我在这设定的8000

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZuV9aZCc-1656668769032)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654585195901.png)]

六:SprinBoot整合junit

1:junit依赖

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

:2:创建一个UserService

package com.yjr.userservice;import org.springframework.stereotype.Service;
@Service
public class UserService {    
        public void add(){                                            System.out.println("add...");  
        }
}

3:创建一个测试类

test下的文件夹要和引导类的文件夹路径一致;不然就得这样写@SpringBootTest(classes=SpringbootCompineApplication.class)–加入引导类

注意:子组件都是动态加载,在当前主程序的子目录去找,例如controller

层都是在注册的子目录去创建。(这里问题得注意)

在这里插入图片描述

测试结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GE1lV2at-1656668769033)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\1654593205559.png)]

七:SpringBoot整合mybatis

1:配制数据源

spring.datasource.url =jdbc:mysql://localhost:3306/springboot
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10
server.servlet.encoding.charset=UTF-8

2:加入mybatis和mysql驱动

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>

3:代码编写

创建实体类

package com.yjr.springboot1902.bean;

public class Demo {
    private long id;
    private String name;
    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

}

编写service层

package com.yjr.springboot1902.service;

import com.yjr.springboot1902.bean.Demo;
import com.yjr.springboot1902.mapper.DemoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class DemoService {
    @Autowired
    private DemoMapper demoMapper;
    public List<Demo> likeName(String name){
        return demoMapper.likeName(name);
    }
}

编写controller层

package com.yjr.springboot1902.controller;

import com.yjr.springboot1902.bean.Demo;
import com.yjr.springboot1902.service.DemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class DemoController {
         @Autowired
    private DemoService demoService;
         @RequestMapping("/demo")
    public String demo(){
            List<Demo> list= demoService.likeName("zhangsan");
            return list.toString();
         }
}

4:进行测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GNW07EoK-1656668769033)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20220701151957732.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值