欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 【SpringBoot】SpringBoot简介

【SpringBoot】SpringBoot简介

2025/2/22 2:12:36 来源:https://blog.csdn.net/m0_66584716/article/details/144513652  浏览:    关键词:【SpringBoot】SpringBoot简介

文章目录

    • SpringBoot简介
      • 启动类
      • 配置外部容器
      • yml 配置文件
      • 打包发布

SpringBoot简介

SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是帮助开发者快速创建独立的、生产级别的基于 Spring 框架的应用程序。它通过内嵌服务器(如 Tomcat、Jetty 或 Undertow)、零配置和自动配置等特性简化了 Spring 应用的初始搭建以及开发过程中的常见任务。

约定大于配置

创建 SpringBoot 项目(IDEA2023)

这里用阿里云的地址创建 SpringBoot 工程。阿里提供的地址更符合国内开发者的使用习惯,里面有一些 SpringBoot 官网上没有给出的坐标。

在这里插入图片描述

启动类

在Spring Boot应用程序中,启动类是应用程序的入口点。它通常包含了一个main方法,该方法调用SpringApplication.run()来启动应用。启动类注解如下:

@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}
}

@SpringBootApplication 包含 @Configuration,@EnableAutoConfiguration 和 @ComponentScan

  • @Configuration: 标记类作为Spring的bean定义的来源。
  • @EnableAutoConfiguration: 启用Spring Boot的自动配置机制,根据类路径中的依赖自动配置Spring应用。
  • @ComponentScan: 自动扫描并注册带有@Component注解的类为Spring的bean。默认情况下,它会扫描启动类所在包及其子包下的组件。

配置外部容器

配置 Spring Boot 应用程序以使用外部 Servlet 容器,而不是默认嵌入式的Tomcat。

1、修改pom.xml:移除内嵌的Tomcat依赖并添加javax.servlet-api

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 移除tomcat --><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions>
</dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope>
</dependency>

确保该外部容器的版本与javax.servlet-api的版本兼容

2、修改启动类:让启动类继承自SpringBootServletInitializer,并且覆盖configure方法

@SpringBootApplication
public class SpringbootCSApplication extends SpringBootServletInitializer {// 覆盖configure方法@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(SpringbootCSApplication.class);}public static void main(String[] args) {SpringApplication.run(SpringbootCSApplication.class, args);}
}

3、配置构建工具以创建WAR文件

  • 打开项目的设置(File -> Project Structure… 或 Ctrl+Alt+Shift+S)导航到Artifacts部分
  • 点击加号(+)选择 “Web Application: Exploded”
  • 从模块列表中选择 Spring Boot 应用作为来源,完成后点击OK保存设置

yml 配置文件

application.yml配置文件:包含 Spring Boot 应用程序所需的多个重要设置,包括服务器端口、数据库连接、静态资源路径和MyBatis配置。

server:port: 8888 # 设置应用运行的HTTP端口号# 数据库连接
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/smbms?useUnicode=true&characterEncoding=UTF-8&useSSL=falseusername: rootpassword: rootmybatis:type-aliases-package: com.hz.springboot01.pojomapper-locations: classpath:mapper/*.xml # 指定Mapper XML文件的位置configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

yaml 语法格式

yaml 具体的语法格式要求如下:

  1. 大小写敏感
  2. 属性层级关系使用多行描述,每行结尾使用冒号结束
  3. 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
  4. 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
  5. #号 表示注释

不同环境配置

SpringBoot 项目中,不同的环境(如开发、测试、生产)下需要不同的配置。

  • application.yml:默认配置文件,当没有指定其他配置文件时,SpringBoot 会加载这个文件。
  • application-dev.yml:开发环境的配置文件。
  • application-test.yml:测试环境的配置文件。
# 指定开发环境配置文件
spring:profiles:active: dev

在这里插入图片描述

静态资源配置

在 pages 文件夹下放入 index.html 文件,项目结构如下:

在这里插入图片描述

开发环境配置文件 application-dev.yml

# 开发配置
server:port: 8080spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/smbms?useUnicode=true&characterEncoding=UTF-8&useSSL=falseusername: rootpassword: rootmvc:static-path-pattern: /pages/**web:resources:static-locations: classpath:/pages/

静态资源配置的相关部分:

spring:mvc:static-path-pattern: /pages/**web:resources:static-locations: classpath:/pages/

开发环境的端口号改为了8888,浏览器输入正确的端口,可以访问 html 页面,显示正常。

在这里插入图片描述

打包发布

首先在 pom.xml 文件中添加 classifier,这里可以自定义标识。

<classifier>xxx</classifier>

在这里插入图片描述

【清理】 ===> 【打包】

在这里插入图片描述

出现【BUILD SUCCESS】就是成功了

在这里插入图片描述

去到项目所在位置,我这里是:D:\idea_workspaces\springboot01\target

在这里插入图片描述

生成的两个 jar 包中,不带标识 xxx 的没有主配置清单,在这里打开终端,输入:java -jar 你的项目名.jar

在这里插入图片描述

出现如上内容的时候,证明项目已经运行,此处不需要依赖于 IDEA

去到浏览器,由上图可知,此处我的端口为8888。

在这里插入图片描述

输入 localhost:8888 成功进入初始化页面。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词