玩转springboot之springboot简介

springboot简介

由于spring和springmvc中存在很多繁琐的配置,springboot应运而生,简化spring的开发,基于spring和springmvc进行了封装,约定大于配置,可以很快的开发出一个可运行的产品

spring面临的问题

在之前使用spring项目需要很多繁琐的步骤和配置

  • 首先先创建一个maven项目,包含有springmvc和servlet的依赖
  • 还需要一个web环境web.xml,其内至少配置DispatchServlet
  • 一个启用了springmvc的spring配置
  • 一个控制器类
  • 一个用于部署应用程序的web应用服务器,如tomcat

spring不仅搭建项目的步骤繁琐,而且还存在了一些其他的问题,这都是spring多年发展技术更迭带来的问题

  • 入门spring需要很长的时间
  • 对过时的技术进行兼容,导致代码的复杂度变高
  • XML配置已经不是流行的系统配置方式
  • 集成第三方工具时,需要考虑工具之间的兼容性

springboot

而springboot就是为了简化spring应用开发,其管理spring容器、第三方插件,并提供很多默认系统级的服务

常用配置参照官方文档 附录A

优点
  • 快速创建独立运行的Spring项目并与主流框架集成

  • 以jar包的形式进行独立运行

  • 使用嵌入式servlet容器,无需打成war包,无需外置的servlet容器

  • starters自动依赖与版本控制

    可以使用parent父项目来进行版本控制

    复制代码
    <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.9.RELEASE</version>
      <relativePath/>
     </parent>

    也可以使用dependencyManagement来引入pom进行版本控制,scope为import,type为pom

    复制代码
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.2.2.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency> 
        </dependencies>
    </dependencyManagement>
  • 大量的默认配置,简化开发,默认配置可修改

  • 无需配置xml

  • 基于不同的环境进行配置,启动程序时传入环境参数-Dspring.profiles.active = {enviornment}。在加载主应用程序属性文件后,Spring将在(application{environment} .properties)中加载后续的应用程序属性文件

  • 应用监控Actuator

  • 与云计算天然集成

缺点
  • 依赖太多,导致springboot应用过大

https://zhhll.icu/2021/框架/springboot/基础/1.简介/

本文由mdnice多平台发布

相关推荐
wuqingshun31415941 分钟前
MYSQL的乐观锁和悲观锁是什么?
java
唐青枫1 小时前
Java SLF4J 实战指南:从日志门面到 Logback、MDC 和链路追踪
java
jvmind_dev2 小时前
Java GC 实战指南(番外篇):被忽视的隐形杀手 —— Class Unloading 如何拖垮 GC
java·后端
An_s2 小时前
机器学习python之识别图中物品信息
java·linux·开发语言
AIGS0012 小时前
跨越语义鸿沟:企业本体语义平台的构建与落地
java·人工智能·python·机器学习·人工智能ai大模型应用
蓝田~3 小时前
大模型本地部署与远程调用 — 从 API 到 Agent
java·人工智能·claude·claude code
码农进化录3 小时前
Java 程序员的 AI 进化论 | Spring Boot 接入 OpenAI 的六个坑,全帮你踩了
java·spring boot·openai
疯狂成瘾者4 小时前
Java 常见集合方法
java·windows·python
从此以后自律4 小时前
ConcurrentHashMap 超详细详解
java
兰令水4 小时前
hot100【acm版】【2026.7.14打卡-java版本】
java·数据结构·算法·leetcode·面试