java web springboot

0. 引言

SpringBoot对Spring的改善和优化,它基于约定优于配置的思想,提供了大量的默认配置和实现

使用SpringBoot之后,程序员只需按照它规定的方式去进行程序代码的开发即可,而无需再去编写一堆复杂的配置

SpringBoot的主要功能如下:

  • 起步依赖:SpringBoot以功能化的方式将需要的依赖进行组装,并且允许程序员以start的方式进行引入

  • 默认配置:SpringBoot实现了大量依赖框架的默认配置项,程序员无须再进行自己配置

  • 内置Tomcat:SpringBoot内置了一个tomcat,使用它开发的程序无需再进行tomcat部署,可直接运行

总之:SpringBoot最主要作用就是帮我们快速的构建庞大的spring项目,并且尽可能的减少配置,让程序员去关注业务而非配置。

1. 入门案例

1.1创建工程导入依赖

注意: springboot工程要求必须去继承一个springboot提供的父工程,然后根据业务需要引入指定的starter

复制代码
<!--父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.3</version>
    </parent>


    <dependencies>
        <!--web依赖启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

测试

1.2 案例解析

做完了入门案例,我们应该会有下面这样几个疑问:

  1. 我们的工程在引入`spring-boot-starter-web`依赖的时候,为什么没有指定版本

  2. `spring-boot-starter-web`是个啥,为什么引入了它之后,就不需要再引入我们原来做spring开发的那一堆包了

  3. 我们的程序没有部署到tomcat,为什么就可以被访问

  4. 为什么我们访问程序的时候要用8080端口,谁定义的

  5. 我们的项目继承了spring-boot-starter-parent父工程,它内部已经锁定了一些常见依赖的版本号,故而在我们自己开发的工程中无需再指定依赖的版本。

  6. 起步依赖

SpringBoot根据场景将各种依赖组装成了一个个的集合(starter),我们根据功能引入指定的starter即可。

3.内置tomcat

  1. 默认配置

SpringBoot的约定大于配置,即SpringBoot的大量配置都有默认值,如果我们不去写配置就使用默认的。

比如说: tomcat默认端口 8080等等

2. 配置文件

SpringBoot是基于约定的,很多配置都有默认值,但也允许自定义配置,具体做法是在resources下创建文件:

复制代码
application.yaml   或者   application.yml  或者  application.properties

注意:目前版本中, SpringBoot启动时会依次加载:yaml、yml、properties文件,优先级依次升高

2.1 读取配置

* 方式1: @Value (了解)
此注解是Spring框架提供的,用来读取配置文件中的属性值并逐个注入到Bean对象的对应属性中

* 方式2: @ConfigurationProperties(掌握)
此注解是SpringBoot框架提供的,用来快速将配置文件中的属性值批量注入到某个Bean对象的多个对应属性中
注意:不要使用 user.name 这个键被操作系统占用了

方式2

java 复制代码
​
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
</dependency>

​

3.常用功能

3.1日志输出

包名: 日志级别(常用的级别有4个: debug info warn error)

logging:

level:

org.springframework: info

com.itheima: info

3.2单元测试

  1. 引入依赖
java 复制代码
<!--引入junit依赖启动器-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
</dependency>
  1. 编写测试类

3.3 静态资源

相关推荐
泡海椒2 分钟前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp
码事漫谈43 分钟前
类型即世界:一个 C++ 程序员的本体论入门
后端
Rain的Java大神之路1 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
自动化监测Learner1 小时前
Navicat Premium 17 中文版安装教程(2026最新版)
java·linux·数据库
那个松鼠很眼熟w1 小时前
4.Spring-Ai入门案例
java·人工智能·spring
计算机毕设定制辅导-无忧学长1 小时前
《基于SpringBoot青年公寓出租管理系统的设计与实现》
java·vue.js·spring boot·青年公寓出租管理系统
泡海椒3 小时前
JQuick-Curl 二次开发:自定义解析器、扩展点开发指南,如何把框架能力真正变成团队资产
java·开发语言·okhttp·maven
MetaLite3 小时前
AI编程与工程底座-让AI遵守SpringBoot边界
人工智能·spring boot·ai编程
青山木3 小时前
Hot 100 --- 数组中的第K个最大元素
java·数据结构·算法·排序算法
玛卡巴卡ldf3 小时前
【AICoding】笔试提示词设计思路
java·算法·ai编程