首页 > 其他分享 >SpringBoot学习笔记

SpringBoot学习笔记

时间:2023-04-18 12:23:00浏览次数:30  
标签:依赖 SpringBoot spring boot 笔记 学习 application yml

一、Springboot 简介

目的:设计目的是用来简化Spring应用的初始搭建以及开发过程

  • Spring程序和SpringBoot程序对比

image-20220630223033876

  1. SpringBoot项目快速启动
  • 对SpringBoot项目打包(执行Maven构建指令package)

  • 执行启动命令(cmd中)

    java -jar springboot.jar

    注:jar支持命令行启动需要依赖maven插件支持,请确认打包时是否具有SpringBoot对应的maven插件

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    

    快速启动有利于我们脱离开IDEA和tomcat运行一个springboot工程

  1. SpringBoot起步依赖

    • starter
      • SpringBoot中常见项目名称,定义了当前项目使用的所有项目坐标,以达到减少依赖配置的目的
    • parent
      • 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
    • 实际开发
      • 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供如发生坐标错误,再指定version(要小心版本冲突)
  2. 使用maven依赖管理变更起步依赖

    <dependencies>
    	<dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-web</artifactId>
    	<!--web起步依赖环境中,排除Tomcat起步依赖- ->
    	<exclusions>
    		<exclusion>
    			<groupId>org.springframework.boot</ groupId>
    			<artifactId>spring -boot -starter-tomcat</artifactId>
    		</exclusion>
    	</exclusions>
        </dependency>
    
        <!--添加Detty起步依赖,版本SpringBoot的starter控制-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jetty</artifactId>
        </dependency>
    </dependencies>
    
    
    • Jetty比Tomcat更轻量级,可扩展性更强(相较于Tomcat),谷歌应用引擎(GAE) 已经全面切换为Jetty

二、基础配置

  1. 三种配置文件格式
  • application.properties

    server.port = 80

  • application.yml(主流)

    server:
    	port: 81
    
  • application.yaml

    server:
    	port: 82
    
  1. yaml数据读取
  • 使用@Value读取单个数据,属性名引用方式:$
  • 封装全部数据到Environment对象
  • 自定义对象封装指定数据(比如Mybatis配置类)
  1. 多环境启动

image-20230418102359760

  1. 配置文件分类
  • SpringBoot中4级配置文件
    • 1级: file : config/application. yml ->最高
    • 2级: file : application.yml
    • 3级: classpath: config/application. yml
    • 4级: classpath: application. yml ->最低
  • 作用:
    • 1级与2级留做系统打包后设置通用属性
    • 3级与4级用于系统开发阶段设置通用属性

三、整合第三方技术

  • 整合JUnit

    @SpringBootTest
    class SpringbootTests{
        @Autowired
        private BookService bookservice;
        
        @Test
        public void testsave(){
    		bookservice.save();
        }
    }
    
  • 整合MyBatis

    • 设置数据源参数
    spring:
    	datasource :
    		type: com.alibaba.druid.poo1.DruidDataSource
    		driver-class-name: com.mysql.cj.jdbc.Driver
    		ur1: jdbc:mysq1://localhost:3306/ssm_db
    		use rname: root
    		password: root
    
    • 定义数据层接口与映射配置
    @Mapper
    public interface UserDao {
    	@Select("select * from user")
        pub1ic List<User> getA11();
    }
    

标签:依赖,SpringBoot,spring,boot,笔记,学习,application,yml
From: https://www.cnblogs.com/Shine-Gan/p/17329120.html

相关文章

  • springboot统一响应实体封装+统一异常类管理
    前言:在日常前后端分离的接口开发过程中,需要我们按相应的格式给前端返回响应的数据,常见的方式就是我们后端自己封装一个包装类,每次返回给前端数据的时候都需要我们自己手动构建一。短时间内来看或许并没有什么,但是一旦接口量变大,我们每个接口都去构建返回值的话,那样就会浪费......
  • 动力节点2023最新MybatisPlus学习笔记(一)入门篇
    MyBatis是很火的框架,一般的项目都是基于ssm,虽然mybatis可以直接在xml中通过SQL语句操作数据库,很灵活,但其操作都要通过SQL语句进行,就必须写大量的xml文件,非常麻烦。而MyBatis-Plus可以很好的解决了这个问题,比Mybatis简单太多了,不用搞那么多xml文件的配置,直接与Springboot整合,开发效......
  • 强化学习奖励函数的设置
    奖励奖励强化学习中奖励函数设置不好,agent也得不到好的解。确定奖励函数的注意事项明确任务目标:一定要确保奖励函数和任务目标是一致的,否则可能会出现奖励函数引导agent在任务上取得不良的表现。注意:因为算法目标是最大化奖励,所以需要看奖励和目标之间的关系。当我的奖励......
  • 动力节点2023最新MybatisPlus学习笔记(二)基础篇
    2【基础篇】2.1通用Mapper接口介绍有关于通用Mapper接口,之前我们已经看到了,我们自己编写的Mapper接口继承自BaseMapper接口,由BaseMapper接口提供了很多单表的增删改查相关的操作方法,在入门案例中,我们测试了查询所有的操作。在这一章节,我们介绍一些简单的Mapper接口中的方法,主要......
  • 学习-09
    1.回顾1.vue+springboot+axios+elementui完成了CRUD操作2.Vue-cli脚手架创建了Vue工程2.介绍组件的使用3.路由跳转:根据你输入的路径找到对应的组件(页面),从而渲染该组件。router/index.js根据请求路径找到对应的组件.但是找到后无法渲染它。4.vue工程中......
  • Rust语言 学习12 闭包和迭代器
    一、闭包入门usestd::thread;usestd::time::Duration;fnmain(){letspecified_value=10;letrandom_number=7;generate_workout(specified_value,random_number);}fngenerate_workout(intensity:u32,random_number:u32){//定义一个函数闭包......
  • PyTorch 深度学习实用指南:1~5
    原文:PyTorchDeepLearningHands-On协议:CCBY-NC-SA4.0译者:飞龙本文来自【ApacheCN深度学习译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。不要担心自己的形象,只关心如何实现目标。——《原则》,生活原则2.3.c一、深度学习演练和PyTorch简介目前,有数十种深度学习......
  • 学习记录:第二周day05笔记
    一、什么是指针指针是一种特殊的数据类型,使用它可以定义指针变量,指针变量中存储的是整型数据,该数据代表了内存的编号(地址),可以通过这个编号访问到对应的内存 二、为什么要使用指针1、函数之间内存是相互独立的,但有时候需要函数之间共享变量普通传参是单向值传递全局变......
  • 学习记录:第二周day04笔记
    五子棋数据分析:1、定义棋盘二维数组2、定义角色变量(1?2?)'@'黑棋'$'白棋'*'空3、定义变量用于记录输入的落子位置逻辑分析:考虑是否需要初始化棋盘 for(;;) {   1、清屏、打印棋盘   2、落子     判断是否超范围如果是则提示非法并重新落......
  • 学习记录:第四周day01笔记
    结构:结构是由程序员自己设计的一种数据类型,用于描述一种事务的各项数据,由若干个不同的基础类型组成设计:struct结构体类型名{类型名成员名...};定义:struct结构体类型名结构体变量名;注意:C语言中定义结构体变量时,struct关键字不能省初始化:struct结构体类......