Spring boot

概念

Spring Boot是一个全新的框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程
而现在的Spring Boot 本身已经是包容万象的,可以跟各种技术集成,成为SpringBoot全家桶。

特点

  • 创建独立的Spring应用程序(一个jar包走天下)
  • 嵌入的Tomcat,无需部署WAR文件
  • 简化Maven配置
  • 自动配置Spring所需要的jar包(更智能)
  • 提供生产就绪型功能,如指标,健康检查和外部配置
  • 简化了外部jar包原有的调用过程(整合其他的框架)

Spring boot全新的pom文件

  1. 它产生整个项目目录,其实我们只需pom.xml文件,覆盖本地maven工程的pom.xml文件。
  2. 最主要的作用是基于Maven管理项目jar包和版本不会发生版本依赖冲突(Spring主要核心的jar会自动下载)

Spring主类的位置

  • 启动类存放的位置很有讲究,必须放在所有文件上一层的包下。
  • 因为Spring boot启动时只会扫描主类所在的同级包以及子包下所有类中的注解

使用编译器创建Spring boot

eclipse:

  1. File
  2. Project…
  3. Maven
  4. Maven Project - Next
  5. 勾选:Create a simple project (skip archetype selectio - Next
  6. 设置Group id、Artifact Id、Version、Packaging - Finish

Idea:
7. File
8. New
9. Project…
10. Spring Initializr 选择JDK版本
11. 设置Group id、Artifact Id、Version - Next
12. 选Web - Spring Web
13. 确认项目称和工作空间地址

  • 新项目需要重写配置Maven的本地仓库
  • 虽然是在编辑器内创建Spring boot,实质只不过只不过在本地访问外https://start.spring.io。

Spring boot中集成Tomcat

Tomcat介绍

sun公司的j2ee架构出现以后,提出第二代动态网站技术规范servlet、jsp后,出现Tomcat。
它是一个免费的开放源代码的Web应用服务器软件,属于轻量级应用服务器
是开发和调试JSP 程序的首选,它运行时是独立的!

Servlet机制

Servlet是JAVA实现前后端数据交互的一种机制

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

servlet-api.jar包

我们按sun公司的java规范写的servlet(HttpServlet)就专门支持网站的请求request(HttpServletRequest)和响应response(HttpServletResponse)的处理。

servlet的核心对象

Request对象:储存着浏览器向用户发送的数据信息
Response对象:服务器向浏览器发送的数据信息

SpringBoot的核心机制

1.开箱即用

  • 只需导入特定的jar包文件,则程序可以直接使用其中的功能
  • 根本原因:SpringBoot是对框架的简化,内部进行了扩展,无需程序员操作

SpringBoot的核心配置文件

独有的特点:

  • application.yml文件:默认是UTF-8 , 代码有层级分明
  • application.properties文件:默认编码IS0-8859-1, 代码重复比较多

共同特点:

  • 配置是Key-Value结构的
  • 配置文件中默认都是字符串
  • 程序启动时该配置文件会被Spring自动加载到Map容器里
  • 首先加载application核心的配置文件

注意事项:

  • 因为配置的内容本身是字符串无需加引号,否则会出现错误
  • 不要写多余的空格,不然可能会报错误
  • IDEA内设置IDEA读取配置文件是UTF-8字符集编码,是针对IDEA
  • 程序通过1O进行读取文件时是以IOS-8859-1编码的,所以中文必定乱码,需设定字符集

SpringBoot运行原理

  1. 当用户点击main方法时启动程序,运行SpringApplication的run方法,传入主类class对象
  2. SpringBoot程序开始加载主启动类上的注解@SpringBootApplication 后,Spring boot内部运行机制开始执行
  3. 当Springboot程序开始执行,则会动态获取当前主启动类的包路径
  4. 通过包扫描的机制,将特定注解标识的类交给Spring容器管理
  5. Spring容器维护的是一个Map集合<K,V> Key:类名首字母小写 value:对象
  6. 当我们的对象在实例化时,遇到@Autowired则需要依赖注入对象;如果整个Spring容器内部都没有该对象时,则会报错注入失败
  7. 如果Map中维护了需要注入的对象,则@Autowired注入成功,最终实例化对象
  8. 当上述的操作都运行成功之后则spring容器启动成功,等待用户的调用
  9. 当SpringBoot启动成功,则说明内部对象已经完成实例化,并且完成了自动的装配

在这里插入图片描述

SpringBoot加载机制

@SpringBootApplication注解说明:

SpringBoot程序启动的实质代表注解开始工作,SpringBootApplication包含的4大注解

  1. 元注解(标识注解的注解)
  2. 配置类
  3. 自动配置
  4. 包扫描机制

123
SpringBoot实现拆箱即用原则执行过程

在这里插入图片描述
当String启动时Spring执行开箱即用原则实现思路:

  1. Spring首先会遍历所有Spring整合的jar包选择器,一个一个去pom文件中找;
  2. 如果选择器找到了该pom文件对应的jar依赖则,自动完成该jar包配置信息(通过yml文件读取配置)
  3. 启动该jar的启动类,等待程序调用
  4. 继续遍历其他选择器,直到遍历完所有的选择器



SpringBoot和Mvaen的区别

  • Mvaen:是一站式项目管理工具
  • Springboot:管理SpringBootjar包的工具,它是一个框架,而Mvaen只是Springboot的依赖关系(工具关系)

Spring Framework与SpringBoot的关系

  • Spring(Framework)框架是资源整合框架,基于IOC思想进行资源整合.
  • SpringBoot基于Spring框架, 用于简化Spring框架整合资源的工程,同时为微服务工程创建和配置提供了更加便利条件

SpringBoot测试方法

测试包名的命名规则:方法一定要在主启动类的同包及子包中编辑
测试类名的命名规则:Test + 测试的类名

拓展小技巧

1.使用注解时或类须填写文件路径时就可以写cLasspath:/

  • cLasspath:Spring boot中的配置文件
  • /:表示根目录

2.路径中不要有中文、空格、特殊字符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值