什么是springboot,springboot入门

1,课程回顾

2,本章重点

 什么是springboot  
                springboot的特点
                主要注解的解释
                SpringApplication.run方法的执行
                springboot整合mybatis   增删改查

3,具体内容

3.1 什么是springboot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
(官网)
Spring Boot使您可以轻松地创建独立的、生产级的、基于Spring的应用程序,您可以“只是运行”。
我们对Spring平台和第三方库有一个独到的见解,这样您就可以从最少的麻烦开始了。大多数Spring引导应用程序只需要很少的Spring配置。

3.2 特点

1, 创建独立的Spring应用程序
2,直接嵌入Tomcat、Jetty或Undertow(不需要部署WAR文件)在这里插入图片描述
3,提供独特的“starter”依赖项以简化构建配置(简化pom配置)
在这里插入图片描述
4,尽可能自动配置Spring和第三方库
5,提供生产就绪功能,如度量、运行状况检查和外部化配置
6,完全没有代码生成,也不需要XML配置

3.3 Springboot hello world实例

      参考项目:springboot_helloworld_demo_20220330_1

1,在线创建项目,下载,解压在这里插入图片描述
3,在Terminal终端 使用mvnw springboot:run 相当于maven命令运行项目
或者直接点启动类,右键 运行
在这里插入图片描述
4,测试
http://localhost:8080/hello
http://localhost:8080/hello?name=qy148

3.4 Springboot restful实例

   参考项目:springboot_restful_demo_20211213

1,使用idea工具创建项目(参考官网)
在这里插入图片描述
在这里插入图片描述
2,编写代码
在这里插入图片描述
3,启动测试
http://localhost:8080/greeting
http://localhost:8080/greeting?name=qy148

打jar包运行:在这里插入图片描述
在这里插入图片描述

3.5 springboot项目启动的本质以及springboot自动装配的核心原理, @Import解析,@EnableAutoConfiguration,手写Starts

看我另一篇文章
https://blog.csdn.net/wang121213145/article/details/123879652

3.6 springboot整合mybatis

在这里插入图片描述

1)添加依赖(最新spring-boot2.5.2+mybatis-spring-boot-starter 2.2.0)

         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
      <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>
 <!--oracle驱动包-->
    <dependency>
      <groupId>oracle</groupId>
      <artifactId>oracle-jdbc</artifactId>
      <version>12.1.0.2</version>
    </dependency>
  <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.10</version>
    </dependency>

2)添加 application.properties

#数据源配置
# 链接数据库四要素
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_aiops03?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root

#mybatis实体别名配置
mybatis.typeAliasesPackage=com.aaa.springboot.entity
#mapper文件扫描
mybatis.mapper-locations=classpath\:mapper/*.xml
 
 
#工程名
server.servlet.context-path=/test
#端口号
server.port=8080
#tomcat编码
server.tomcat.uri-encoding=UTF-8

3),编写dao及mapper
4),编写service及实现类
5),编写controller
6),编写页面
7),@MapperScan(“com.aaa.sb.dao”)
启动测试

3.7 yaml的简介与配置

简介:
YAML是一个可读性高,用来表达数据序列化的格式。YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲。
格式:
数据结构可以用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。

house:
  family:
    name: Doe
    parents:
      - John
      - Jane
    children:
      - Paul
      - Mark
      - Simone
  address:
    number: 34
    street: Main Street
    city: Nowheretown
    zipcode: 12345

字串不一定要用双引号标识;
在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);
允许在文件中加入选择性的空行,以增加可读性;
在一个档案中,可同时包含多个文件,并用“——”分隔;
选择性的符号“…”可以用来表示档案结尾

在springboot中使用:

# yml 和properties 同时存在时  yml 优先加载
#配置本项目的启动(访问)端口号
server:
  port: 8081
  servlet:
    context-path: /sbm
mybatis:
  mapper-locations:
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/db_aiops03?useUnicode=true&characterEncoding=utf-8
    username: root
    password: root

RequestBody 不支持的问题,解决:
1,pom.xml添加包

 <dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>fastjson</artifactId>
		<version>1.2.46</version>
	</dependency>

2,创建配置类config.HttpConverterConfig 复制下面内容:

package com.aaa.sbm.config;

import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;

/**
 * fileName:HttpConverterConfig
 * description:
 * author:zz
 * createTime:2019/11/25 17:24
 * version:1.0.0
 */
@Configuration
public class HttpConverterConfig {
    @Bean
    public HttpMessageConverters fastJsonHttpMessageConverters() {
        // 1.定义一个converters转换消息的对象
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        // 2.添加fastjson的配置信息,比如: 是否需要格式化返回的json数据
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        // 3.在converter中添加配置信息
        fastConverter.setFastJsonConfig(fastJsonConfig);
        // 4.将converter赋值给HttpMessageConverter
        HttpMessageConverter<?> converter = fastConverter;
        // 5.返回HttpMessageConverters对象
        return new HttpMessageConverters(converter);
    }
}

3,测试成功

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

杵意

谢谢金主打赏呀!!

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

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

打赏作者

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

抵扣说明:

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

余额充值