当前位置: 首页>编程语言>正文

spring boot 约定 spring boot定义

文章目录

  • 1,课程回顾
  • 2,本章重点
  • 3,具体内容
  • 3.1 什么是springboot
  • 3.2 特点
  • 3.3 Springboot hello world实例
  • 3.4 Springboot restful实例
  • 3.5 springboot项目启动的本质以及springboot自动装配的核心原理, @Import解析,@EnableAutoConfiguration,手写Starts
  • 3.6 springboot整合mybatis
  • 3.7 yaml的简介与配置


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文件)

spring boot 约定 spring boot定义,spring boot 约定 spring boot定义_springboot,第1张

3,提供独特的“starter”依赖项以简化构建配置(简化pom配置)

spring boot 约定 spring boot定义,spring boot 约定 spring boot定义_java_02,第2张

4,尽可能自动配置Spring和第三方库

5,提供生产就绪功能,如度量、运行状况检查和外部化配置

6,完全没有代码生成,也不需要XML配置

3.3 Springboot hello world实例

参考项目:springboot_helloworld_demo_20220330_1

1,在线创建项目,下载,解压

spring boot 约定 spring boot定义,spring boot 约定 spring boot定义_springboot_03,第3张

3,在Terminal终端 使用mvnw springboot:run 相当于maven命令运行项目

或者直接点启动类,右键 运行

spring boot 约定 spring boot定义,spring boot 约定 spring boot定义_springboot_04,第4张

4,测试

http://localhost:8080/hello http://localhost:8080/hello?name=qy148

3.4 Springboot restful实例

参考项目:springboot_restful_demo_20211213

1,使用idea工具创建项目(参考官网)

spring boot 约定 spring boot定义,spring boot 约定 spring boot定义_mysql_05,第5张

spring boot 约定 spring boot定义,spring boot 约定 spring boot定义_mysql_06,第6张

2,编写代码

spring boot 约定 spring boot定义,spring boot 约定 spring boot定义_mysql_07,第7张

3,启动测试

http://localhost:8080/greeting http://localhost:8080/greeting?name=qy148打jar包运行:

spring boot 约定 spring boot定义,spring boot 约定 spring boot定义_spring boot 约定_08,第8张

spring boot 约定 spring boot定义,spring boot 约定 spring boot定义_spring boot 约定_09,第9张

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

看我另一篇文章

3.6 springboot整合mybatis

spring boot 约定 spring boot定义,spring boot 约定 spring boot定义_springboot_10,第10张

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,测试成功



https://www.xamrdz.com/lan/5mh1967479.html

相关文章: