【SpringBoot 2】(三)SpringBoot相较于Spring的特点(一)

简介: 【SpringBoot 2】(三)SpringBoot相较于Spring的特点(一)

1 起步依赖

1.1 starter场景启动器

       在依赖导入这一方面,SpringBoot区别于Spring的就是,Spring在pom.xml文件中手动导入所有的依赖包括版本号,而SpringBoot只需要在项目的pom.xml文件中导入spring-boot-starter-web即可将编写一个web应用所需要的所有的jar包自动加载完成,且使用默认的版本号避免不同技术的各个版本之间出现相互冲突问题。


<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

1.2 父项目作依赖管理

       每一个SpringBoot项目中都会继承自一个父项目,父项目中会定义好所有的依赖以及版本号,子项目继承父项目之后再导入依赖就可以不用去声明版本号。


       以入门案例为例,该案例项目继承自如下父项目


<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.4.RELEASE</version>
</parent>

       这个父项目项目又继承自另一个父项目,在这个父项目中几乎定义了所有可能会用的到的依赖,并对所有的进行了版本仲裁,如果想要修改某个依赖版本的话就在pom.xml文件中使用properties标签对版本号进行再次定义,因为maven依赖版本号采取的是就近原则。


image.png


2 自动配置

2.1 自动配置Tomcat服务器

       在前面的starter场景启动器中,底层已经导入了Tomcat的依赖,并对Tomcat服务器进行了配置。

image.png

2.2 自动配置web开发场景、SpringMVC组件

       starter场景启动器的底层也导入了web和SpringMVC需要的依赖,并对常用的组件进行了配置。


image.png


       具体组件(编码过滤器、前端控制器dispatcherservlet……)的查看可以借助IOC容器的相关API进行获取

image.png


相关文章
|
11天前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
245 1
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
存储 JSON Java
178 0
|
18天前
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
|
1月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
357 3
|
5月前
|
前端开发 Java Maven
Spring 和 Spring Boot 之间的比较
本文对比了标准Spring框架与Spring Boot的区别,重点分析两者在模块使用(如MVC、Security)上的差异。Spring提供全面的Java开发基础设施支持,包含依赖注入和多种开箱即用的模块;而Spring Boot作为Spring的扩展,通过自动配置、嵌入式服务器等功能简化开发流程。文章还探讨了两者的Maven依赖、Mvc配置、模板引擎配置、启动方式及打包部署等方面的异同,展示了Spring Boot如何通过减少样板代码和配置提升开发效率。总结指出,Spring Boot是Spring的增强版,使应用开发、测试与部署更加便捷高效。
747 12
|
6月前
|
安全 Java Apache
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 身份和权限认证
本文介绍了 Apache Shiro 的身份认证与权限认证机制。在身份认证部分,分析了 Shiro 的认证流程,包括应用程序调用 `Subject.login(token)` 方法、SecurityManager 接管认证以及通过 Realm 进行具体的安全验证。权限认证部分阐述了权限(permission)、角色(role)和用户(user)三者的关系,其中用户可拥有多个角色,角色则对应不同的权限组合,例如普通用户仅能查看或添加信息,而管理员可执行所有操作。
324 0
|
6月前
|
安全 Java 数据安全/隐私保护
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 三大核心组件
本课程介绍如何在Spring Boot中集成Shiro框架,主要讲解Shiro的认证与授权功能。Shiro是一个简单易用的Java安全框架,用于认证、授权、加密和会话管理等。其核心组件包括Subject(认证主体)、SecurityManager(安全管理员)和Realm(域)。Subject负责身份认证,包含Principals(身份)和Credentials(凭证);SecurityManager是架构核心,协调内部组件运作;Realm则是连接Shiro与应用数据的桥梁,用于访问用户账户及权限信息。通过学习,您将掌握Shiro的基本原理及其在项目中的应用。
251 0
|
Java 测试技术 Spring
Springboot 系列(二)Spring Boot 配置文件
Springboot 系列(二)Spring Boot 配置文件
258 0
Springboot 系列(二)Spring Boot 配置文件