Springboot入门、Springboot整合mybatis、mybatis-plus、RestTemplate的使用、自动配置基础

Springboot项目创建

springboot实际上就是spring+springmvc的简化版,springboot项目的创建十分简单:

  1. pom.xml文件中添加父依赖:
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.2</version>
        <relativePath/>
    </parent>

relativePath是指依赖的来源,这里设置为空表示依赖来自于仓库,不从本项目寻找

  1. 创建一个Application类,该类需要一个主方法执行SpringApplication.run方法,springboot内嵌了一个tomcat,执行了run方法之后会找到类的注解,然后根据注解解析来自动配置映射等springmvc中的繁琐配置:
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class);
    }
}
  1. 添加依赖,springboot整合的依赖名称一般遵从spring-boot-starter-XXX这样的格式

使用项目初始化工具(spring initializr)可以直接创建一个springboot项目

Springboot的Java配置

Springboot推出之后,官方推荐使用java代码的形式来配置spring容器,而非xml的形式,配置写在主方法的类中

代码示例

    @Bean("user")
    public User createUser(){
        User user = new User();
        user.setName("jack");
        return user;
    }

自动配置

Condition接口,方法matches返回一个Boolean类型;@Condition和@Bean配合,根据注解的value中的matches返回值来决定是否加载该Bean

Springboot整合MyBatis

环境搭建

  1. 导入依赖

Springboot整合MyBatis的依赖名为mybatis-spring-boot-starter,mysql驱动

  1. 配置文件

springboot会从根目录或config目录下找到名为application的properties文件或yml文件当作springboot的默认配置文件并加载
spring.dataSource.username:用户名
spring.dataSource.password:密码
spring.dataSource.driver-class-name:驱动类
spring.dataSource.URL:URL

  1. 扫描Dao/Mapper

在主方法的类上面使用MapperScan扫描指定的Dao类所在包

Mybatis-plus

mybatis-plus是简化mybatis开发的框架,需要引入mybatis-plus-boot-starter,这个框架可以简化许多普遍的增删改查的sql书写

使用

  1. Dao层的接口继承自BaseMapper<>接口,泛型为对应处理的对象类型,该接口提供了一系列简单的增删改查操作
  2. 对实体类使用注解@TableName(“TableName”)来指定类对应的表,对字段使用@TableId和@TableField来对应表中的字段;或是通过springboot的配置文件来进行映射的全局配置

mybatis-plus.configuration.map-underscore-to-camel-case=false:映射下划线到驼峰命名(默认为true,则java中的驼峰命名在数据库中会被改成下划线的形式)
mybatis-plus.global-config.db-config.table-prefix=XXX:通过类名找表时以给类名加上前缀的形式找
mybatis-plus.global-config.db-config.id-type=auto:将id类型设置为自动增加

  1. 按条件批量操作数据:对数据进行按条件批量操作时,使用Wrapper<>接口来包装条件,查询时使用子类QueryWrapper,修改删除使用子类UpdateWrapper,根据方法名很容易读出方法含义

RestTemplate

项目的不同模块运行在不同的服务器时,服务器之间发送http请求就能使用RestTemplate

Post请求

  1. postForEntity:提交post请求并返回一个ResponseEntity,其中包含响应体、状态码、Header等等信息
  2. postForObject:提交posti请求并返回一个响应体
  3. postForLocation:提交一个post请求创建新资源后返回新资源的存储位置

参数:

  1. uri:资源路径
  2. request:请求信息
  3. responseType:希望响应的json自动转换的对象类型
  4. uriVariable:在uri使用占位符后进行填充的参数

Get请求

get请求常用的getForEntity和getForObject与post类似

Put请求

参数与postForEntity基本一致,只是put没有返回值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值