springboot复习(黑马)(持续更新)
创始人
2024-05-29 21:02:24
0

学习目标


基于SpringBoot框架的程序开发步骤

熟练使用SpringBoot配置信息修改服务器配置

基于SpringBoot的完成SSM整合项目开发

一、SpringBoot简介


1. 入门案例

问题导入

SpringMVC的HelloWord程序大家还记得吗?

  • SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程

  • 原生开发SpringMVC程序过程

1.1 入门案例开发步骤

环境准备

①:创建新模块,选择Spring初始化,并配置模块相关基础信息
②:选择当前模块需要使用的技术集
③:开发控制器类
@RestController
public class Controller01 {@RequestMapping("/sayHi")public String sayHi(){System.out.println("hi...");return "hi ... springboot...";}
}

④:运行自动生成的Application类

访问页面

重新启动

最简SpringBoot程序所包含的基础文件


4.0.0org.springframework.bootspring-boot-starter-parent2.7.1 com.itheimademo1_helloworld0.0.1-SNAPSHOTdemo1_helloworldDemo project for Spring Boot1.8org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-maven-plugin
package com.itheima;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*/*@SpringBootApplication:1. 表示这个类是一个springboot应用程序的入口类。2. 要想让程序启动,只需要在main方法里面写上这样的一句话:SpringApplication.run(当前类的字节码对象, args);3. 拓展:3.1 springboot项目启动的时候,默认会扫描启动类所在的位置,以及它后续的所有子包。3.2 查找到类里面打的注解 @Controller , @Service , @RequestMapping.3.3 springApplication.run 传递进去当前类的字节码对象,也是可以确定当前这个启动器它的包是哪个!*/
@SpringBootApplication
public class Demo1HelloworldApplication {public static void main(String[] args) {SpringApplication.run(Demo1HelloworldApplication.class, args);}}

Spring程序与SpringBoot程序对比

注意事项:

基于idea开发SpringBoot程序需要确保联网且能够加载到程序框架结构

1.2 基于SpringBoot官网创建项目

保存到桌面

解压完之后 用idea打开他

因为用到了Mysql 所以得配置数据库

已经启动

1.3 SpringBoot项目快速启动

① 对SpringBoot项目打包(执行Maven构建指令package)

② 执行启动指令

java -jar ava -jar demo1_helloworld-0.0.1-SNAPSHOT.jar    # 项目的名称根据实际情况修改

例子

注意事项:

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

 org.springframework.bootspring-boot-maven-plugin

如果没有这个依赖maven插件 打包就只有4k左右

这个时候跟本运行不了

2. SpringBoot概述

问题导入

学习了SpringBoot入门案例之后,感觉对比SpringMVC哪一个更加方便简洁?

  • SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程

  • Spring程序缺点

  • 配置繁琐

  • 依赖设置繁琐

  • SpringBoot程序优点

  • 自动配置

  • 起步依赖(简化依赖配置)

  • 辅助功能(内置服务器,……)

28行到225行

226行 到2737行

2.1 起步依赖

  • starter

  • SpringBoot中常见项目名称,定义了当前项目使用的所有项目坐标,以达到减少依赖配置的目的

  • 可以认为这个起步依赖相当于一个开关 我们主要用了这个东西 就相当用了他的全套功能

   org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtest

parent

  • 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的

  • spring-boot-starter-parent(2.5.0)与 spring-boot-starter-parent(2.4.6)共计57处坐标版本不同


4.0.0org.springframework.bootspring-boot-starter-parent2.7.1 com.itheimademo1_helloworld0.0.1-SNAPSHOTdemo1_helloworldDemo project for Spring Boot

4.0.0org.springframework.bootspring-boot-dependencies2.5.0spring-boot-starter-parentpom    ...

实际开发

  • 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供

  • 如发生坐标错误,再指定version(要小心版本冲突)

如我们要用到Mysql

     mysqlmysql-connector-java

当然也不是什么都有管理

比如druid就不被管理

 com.alibabadruid1.2.8

如果不写版本号的话 就会出现unknown 这个时候 我们就知道在springboot的父亲的父亲里面并没有管理这个依赖 这个时候 我们就能自己添加版本号

自己添加版本号

2.2 辅助功能

  • SpringBoot程序启动

package com.itheima;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*/*@SpringBootApplication:1. 表示这个类是一个springboot应用程序的入口类。2. 要想让程序启动,只需要在main方法里面写上这样的一句话:SpringApplication.run(当前类的字节码对象, args);3. 拓展:3.1 springboot项目启动的时候,默认会扫描启动类所在的位置,以及它后续的所有子包。3.2 查找到类里面打的注解 @Controller , @Service , @RequestMapping.3.3 springApplication.run 传递进去当前类的字节码对象,也是可以确定当前这个启动器它的包是哪个!*/
@SpringBootApplication
public class Demo1HelloworldApplication {public static void main(String[] args) {SpringApplication.run(Demo1HelloworldApplication.class, args);}}
  • SpringBoot在创建项目时,采用jar的打包方式

  • SpringBoot的引导类是项目的入口,运行main方法就可以启动项目

  • 使用maven依赖管理变更起步依赖项

  • Jetty比Tomcat更轻量级,可扩展性更强(相较于Tomcat),谷歌应用引擎(GAE)已经全面切换为Jetty

org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-jettymysqlmysql-connector-javacom.alibabadruid1.2.8org.springframework.bootspring-boot-starter-testtest

二、基础配置


1. 配置文件格式

问题导入

框架常见的配置文件有哪几种形式?

1.1 修改服务器端口

http://localhost:8080/books/1 >>> http://localhost/books/1

相关内容

热门资讯

牛奶的自述小学作文(精彩3篇... 牛奶的自述小学作文 篇一我是一杯牛奶,来自一头温柔的奶牛妈妈。在牧场上,我见证了奶牛妈妈们辛勤的劳动...
言而有信小学作文(推荐5篇) 言而有信小学作文 篇一:诚信的重要性诚信是一种美德,是一个人最基本的道德品质之一。作为小学生,我们更...
我喜欢的小动物作文【实用6篇... 我喜欢的小动物作文 篇一我喜欢的小动物是松鼠。每次看到它们在树上迅速爬行,我总会被它们的灵活和机敏所...
杭州游之虎跑公园小学作文【经... 杭州游之虎跑公园小学作文 篇一我最喜欢的杭州景点之一就是虎跑公园。这个公园坐落在风景如画的西湖边,是...
“日”字变形记小学作文【推荐... “日”字变形记小学作文 篇一太阳的日子我喜欢太阳,因为它给了我们光明和温暖。太阳每天都会升起,照亮大...
小小的欲望作文350字(最新... 篇一:小小的欲望小小的欲望作文350字 篇一小小的欲望,是我们内心深处微不可见的火花,它时而燃烧得熊...
奇思妙想的作文400字(精选... 奇思妙想的作文400字 篇一标题:梦幻的花园我有一个奇妙的梦想,梦见自己拥有了一个令人惊叹的花园。这...
成长的烦恼四年级作文【优秀5... 成长的烦恼四年级作文 篇一成长的烦恼我是一名四年级的学生,正在经历着成长的烦恼。在成长的道路上,我遇...
爱人的作文【最新3篇】 爱人的作文 篇一爱人的作文我有一个特别重要的人,那就是我的爱人。他是我生命中最亲密的伴侣,也是我最深...
中秋之夜的小学作文500字 中秋之夜的小学作文500字  中秋节已悄悄的离我们近了,近了,此时我的心情又怎能不振奋呢?面临三天的...
有你真好的作文(最新6篇) 有你真好的作文 篇一爱与陪伴人生中,有太多的瞬间让我感受到了你的好。你是我最亲近的人,也是我最信任的...
火烧云小学作文【最新6篇】 火烧云小学作文篇一:火烧云的美丽火烧云是一种非常美丽的自然景观,它们在天空中绽放出绚丽的色彩,给人们...
人间自有温情在作文(精简3篇... 人间自有温情在作文 篇一温情的力量人间自有温情,在日常生活中,我们时常能够感受到这种力量。温情是指人...
小学三年级抗疫情作文(精简5... 小学三年级抗疫情作文 篇一:我们一起抗疫,共克时艰新冠疫情的突然爆发给全世界带来了巨大的挑战,人们的...
有你真好的作文(通用6篇) 有你真好的作文 篇一有你真好每个人的生活中都会有那么一个重要的人,他们的存在让我们的生活变得更加美好...
我上学了(优选3篇) 我上学了 篇一我上学了已经有好几年了,回想起来,这段时光仿佛就在眨眼间过去了。刚开始上学的时候,我还...
有趣的游戏小学作文400字【... 有趣的游戏小学作文400字 篇一标题:童年乐园——躲猫猫游戏在我心中,有一个让我欢乐无比的游戏,那就...
那次玩得真高兴作文(优秀5篇... 那次玩得真高兴作文 篇一那次玩得真高兴上个周末,我和我的朋友们一起去了游乐园玩,那次真是玩得太高兴了...
初一七年级学生作文题目【优选... 初一七年级学生作文题目 篇一我的暑假计划暑假即将来临,我对未来的两个月充满了期待和计划。今年的暑假,...
假如考上了名校,我要回来看看... 假如考上了名校,我要回来看看我的母校小学作文 篇一当我考上了名校,我内心感到无比的兴奋和自豪。这是我...