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 静态资源

相关推荐
Devin~Y7 小时前
高并发电商与AI智能客服场景下的Java面试实战:从Spring Boot到RAG与向量数据库落地
java·spring boot·redis·elasticsearch·spring cloud·kafka·rag
蜡台7 小时前
IDEA 一些 使用配置和插件
java·ide·intellij-idea
小码哥_常7 小时前
一个Starter搞定六种防护,Spring Boot API的超强护盾来了
后端
磊 子7 小时前
redis详解2
java·spring boot·redis
白露与泡影7 小时前
Java面试题库及答案解析(2026版)
java·开发语言·面试
程序员阿明7 小时前
spring boot3 集成jjwt(java-jwt)版本的
java·spring boot·python
bbq粉刷匠7 小时前
Java--剖析synchronized
java·开发语言
ayt0078 小时前
Netty AbstractNioChannel源码深度剖析:NIO Channel的抽象实现
java·数据库·网络协议·安全·nio
Gofarlic_OMS8 小时前
装备制造企业Fluent许可证成本分点典型案例
java·大数据·开发语言·人工智能·自动化·制造
码王吴彦祖8 小时前
顶象 AC 纯算法迁移实战:从补环境到纯算的完整拆解
java·前端·算法