当前位置: 首页 > news >正文

SpringBoot基础(一)

1.SpringBoot简介

Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目。它
使用习惯优于配置的理念让你的项目快速运行起来,使用Spring Boot很容易创建一个独立运行
(运行jar,内置Servlet容器,Tomcat、jetty)、准生产级别的基于Spring框架的项目,使用
SpringBoot你可以不用或者只需要很少的配置文件。

2. SpringBoot核心功能

  • 独立运行的Spring项目:可以以jar包形式独立运行,通过java -jar xx.jar即可运行。
  • 内嵌Servlet容器:可以选择内嵌Tomcat、Jetty等。
  • 提供starter简化maven配置:一个maven项目,使用了spring-boot-starter-web时,会自动加载Spring
  • Boot的依赖包。 自动配置Spring:Spring。 Boot会根据在类路径中的jar包、类,为jar包中的类自动配置Bean。
  • 准生产的应用监控:提供基于http、ssh、telnet对运行时的项目进行监控。 无代码生成和xml配置:主要通过条件注解来实现

3. SpringBoot启动类注解

@SpringBootApplication
public class DemoWebApplication {public static void main(String[] args) {SpringApplication.run(DemoWebApplication.class, args);}
}
@SpringBootApplication注解是多个注解的合体,其中最重要的是@SpringBootConfiguration,
@EnableAutoConfiguration,@ComponentScan
@SpringBootConfiguration 继承至@Configuration,其实两种功能一致,都是标注该类为配置类,
读取启动类
@EnableAutoConfiguration 这个注解是SpirngBoot自动配置的核心所在,通过此注解,能所有符合自
动配置条件的bean的定义加载到spring容器中。
@ComponentScan 该注解会扫描当前包及子包下面被纳入sping容器管理的类

4. 配置外部容器

 去掉pom.xml中默认加载的tomcat,并添加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>

 编写代码,覆盖启动类

使启动类继承 SpringBootServletInitializer 类,并覆盖 configure 方法
@SpringBootApplication
public class SpringbootCSApplication extends SpringBootServletInitializer {//覆盖configure方法protected SpringApplicationBuilder configure(SpringApplicationBuilder
builder) {return builder.sources(SpringbootCS.class);}public static void main(String[] args) {SpringApplication.run(SpringbootCS.class, args);}
}

 打开Project Settings -> Artifacts ->点击+号并选择web applicaction:Exploded ->From Mod....->点击OK

http://www.lryc.cn/news/458493.html

相关文章:

  • Java智能匹配灵活用工高效人力资源管理系统小程序源码
  • openpdf
  • C#垃圾回收机制详解
  • 身份证二要素核验操作指南
  • 量子数字签名概述
  • 算法题——合并 k 个升序的链表
  • 智能制造与精益制造的模型搭建
  • 快速生成生产级Go应用的利器——Cgapp
  • MySQL基本语法、高级语法知识总结以及常用语法案例
  • 单片机(学习)2024.10.11
  • Java创建型模式(二)——工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式、工厂模式扩展等完整详解,附有代码——案例)
  • C++学习,容器类 <set>
  • Cisco Catalyst 9000 交换产品系列 IOS XE 17.15.1 发布下载,新增功能概览
  • Python知识点:基于Python技术,如何使用MMDetection进行目标检测
  • Chromium HTML Tags与c++接口对应关系分析
  • React Fiber 解析:前端性能提升密码
  • 【吊打面试官系列-微服务面试题】微服务架构如何运作?
  • Windows系统编程 - 目录操作、磁盘、卷信息
  • 搭建SaaS知识库:优化教育机构的在线教学效能
  • CSS中backdrop-filter详解
  • AI测试入门:理解 LLM 的基准测试(Benchmark)
  • InternVid:用于多模态视频理解与生成的大规模视频-文本数据集 | ICLR Spotlight
  • Hive数仓操作(十)
  • Android 扩大View的点击区域
  • [Qt学习笔记] 解决QTextEdit数据过多UI卡死问题
  • OgreNext高级材质中增加线宽,点大小,虚线模式绘制支持
  • STM32中的DMA数据转运——下篇
  • 51单片机的智能小区安防系统【proteus仿真+程序+报告+原理图+演示视频】
  • 数仓建模流程
  • Neo4j CQL语句 使用教程