5.Springboot概述

Springboot概述

by_小凡ffffff

1.Springboot概述

目的

简化新 Spring 应用的初始搭建以及开发过程。就像Maven整合了所有的 Jar 包,Spring Boot 整合了所有的框架。

核心思想

约定优于配置! 或者说:约定>注解>配置。Spring Boot 所有开发细节都是依据此思想进行实现。有了它,几乎所有的配置文件都被抛弃了。

2.利用springboot进行编程的四个步骤(重点)

(1)maven的pom.xml文件中添加Spring Boot相关依赖

pom.xml的作用:该项目中所有依赖的jar包的配置。

<!-- 引入Spring Boot依赖 -->
<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.4.3.RELEASE</version>
</parent>
<dependencies>
	<!-- 引入Web场景依赖启动器 -->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
</dependencies>

  1. 父项目管理依赖:管理各个依赖的版本号

  2. web场景依赖:集成了web使用场景的starter依赖集

    (测试和打包这些依赖都可以没有,可Springboot必须要有这两个核心依赖)

(2)编写主启动程序类

创建一个SpringBoot的应用程序,标明我是主启动类,则要在主启动类上标明注解:@Springbootapllication(它本身就包含了三个注解);另外这个主启动类里包含了主函数:Springapplication.run

命名一般为:程序名application.java 位置一般在包的根目录下

@SpringBootApplication   //标记该类为主启动类
public class SampleSpringBootApplication {
    public static void main(String[] args){
       SpringApplication.run(SampleSpringBootApplication.class,args);  //Springapplication.run方法启动主程序类
    }
 }

(3)全局配置文件application. properties

  1. 设置端口号
  2. 连接数据库,配置连接拿个数据库,数据源,采用的驱动类是哪一个。(了解即可)

(4)创建一个用于Web访问的Controller

@RestController   
public class HelloController {
   @GetMapping("/hello")
   public String hello(){
        return "hello Spring Boot";
    }
}

项目位置示意图

3.springboot原理分析

在这里对上面的内容细说:

(1)pom文件:

主要是四部分:
  1. 项目元数据信息:创建时候输入的Project Metadata 部分,也就是Maven项目的基本元素, 包括groupId、artifactId、version、name、description等

  2. parent:继承spring-boot-starter-parent的依赖管理,约定好一些常用依赖项的版本号,包括 Spring Boot、Spring Framework、Spring Security 等。(但是,对于一些与 Spring Boot 集成的第三方库,如 MyBatis、Hibernate 等,其版本号可能不是与 Spring Boot 的版本完全匹配的,所以仍然需要在项目中指定这些库的版本号。)

  3. denpendencies:项目具体依赖,这里包含spring-boot-starter-web用于实现HTTP 接口(该依赖中包含了SpringMVC),官网的描述是:使用Spring MVC构建Web(包括RESTful)应用程序的入门者,是Tomcat作为默认嵌入容器。spring-boot-starter-test是用于编写单元测试的依赖包。spring-boot-starter-×××(场景名) 是各场景下的依赖包的合集。

  4. build:构建配置部分,默认使用了spring-boot-maven-plugin,配合spring-boot-starter-parent就可以把Spring boot 应用程序打包成 JAR 来直接运行。

两个主要依赖
  1. spring-boot-starter-parent依赖

spring-boot-starter-parent是通过< parent >标签对一些常用技术框架的依赖文件进行了统一版本号管理:

<!-- Spring Boot父项目依赖管理 -->
<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.6.14</version>
	<relativePath/>
</parent>

(以后导入依赖默认是不需要写版本;但是如果导入的包没有在依赖中管理着就需要手动配置版本了;)

  1. spring-boot-starter-web依赖,启动器:spring-boot-starter

    <dependency>   
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    

    springboot-boot-starter-xxx:就是spring-boot的场景启动器

SpringBoot将所有的功能场景都抽取出来,做成一个个的starter (启动器),只需要在项目中引入这些starter即可,所有相关的依赖都会导入进来 。相当于各场景下的依赖包的合集。

(2)springboot自动配置:主启动类×××application.java

@SpringBootApplication   //标记该类为主启动类
public class SampleSpringBootApplication {
    public static void main(String[] args){
       SpringApplication.run(SampleSpringBootApplication.class,args);  //Springapplication.run方法启动主程序类
    }
 }
核心注解:@SpringBootApplication

@SpringBootApplication注解是一个组合注解,包含@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan三个核心注解

  1. @Configuration,说明这是一个配置类 ,配置类就是对应Spring的xml 配置文件;

  2. @EnableAutoConfiguration注解 作用:开启自动配置功能。以前需要人工配置的东西,而现在SpringBoot可以自动帮我们配置 ;@EnableAutoConfiguration告诉SpringBoot开启自动配置功能,这样自动配置才能生效

  3. ComponentScan注解这个注解在Spring中很重要 ,它对应XML配置中的元素。开启组件扫描后,在对用的bean前面加对应的注解相当于取代了传统spring中在application.xml中配置bean的繁琐过程。

    作用:自动扫描并加载符合条件的组件或者bean , 将这个bean定义加载到IOC容器中

SpringApplication启动类主要做了以下四件事:
  1. 推断应用的类型是普通的项目还是Web项目

  2. 查找并加载所有可用初始化器 , 设置到initializers属性中

  3. 找出所有的应用程序监听器,设置到listeners属性中

  4. 推断并设置main方法(run方法对应的方法)的定义类,找到运行的主类(程序启动类)

4.springboot配置文件分析

  1. Spring Boot使用一个全局的配置文件,全局配置文件的可以对一些默认配置值进行修改

​ application.properties or

​ application.yml

  1. 配置文件加载位置

    创建Spring Boot项目时,默认 resources 目录下就有一个application.properties 文件

  2. 主要作用:

    设置端口号+数据库连接信息

行修改

​ application.properties or

​ application.yml

  1. 配置文件加载位置

    创建Spring Boot项目时,默认 resources 目录下就有一个application.properties 文件

  2. 主要作用:

    设置端口号+数据库连接信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot是一个开源的、基于Spring框架的快速应用开发框架。它利用了Spring框架的优秀特性,使得开发者可以快速构建出一个独立的Spring应用程序,并且可以打包成jar包或者war包运行。Spring Boot还提供了一些常用的功能模块,例如:Web应用程序开发、数据访问、安全、缓存等等,这些模块可以通过配置文件或者注解的方式轻松集成到应用程序中。 Spring Boot的主要优点包括: 1. 快速搭建应用程序:Spring Boot提供了一些默认配置,可以快速搭建一个独立的应用程序。 2. 独立运行:Spring Boot应用程序可以打包成jar包或者war包,可以独立运行,不需要部署在Web容器中。 3. 配置简单:Spring Boot提供了一些默认配置,可以减少一些繁琐的配置工作,同时也支持通过配置文件或者注解的方式进行配置。 4. 易于集成:Spring Boot提供了一些常用的功能模块,例如Web应用程序开发、数据访问、安全、缓存等等,这些模块可以通过配置文件或者注解的方式轻松集成到应用程序中。 5. 易于测试:Spring Boot应用程序可以独立运行,可以减少对外部资源的依赖,可以方便地进行单元测试和集成测试。 Spring Boot的缺点: 1. 自动配置可能会引起歧义:Spring Boot的自动配置可能会引起一些歧义,需要开发者进行手动配置。 2. 学习成本高:Spring Boot的学习成本相对较高,需要掌握Spring框架的基础知识。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小凡ffffff

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值