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

spring与spring boot的区别

spring与spring boot的区别

项目配置:

Spring: 在Spring中,项目的配置通常需要在XML文件中进行,包括配置数据源、事务管理、AOP等。这需要开发人员手动配置很多细节。

<!--Spring中使用XML配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mydatabase"/><property name="username" value="root"/><property name="password" value="password"/>
</bean>

Spring Boot: Spring Boot采用约定优于配置的理念,提供了一种基于约定的默认配置方式,通过使用注解和默认配置,大大减少了开发人员的配置工作。

// 在Spring Boot中使用注解配置数据源
@SpringBootApplication
public class MyApplication {@Beanpublic DataSource dataSource() {return DataSourceBuilder.create().driverClassName("com.mysql.jdbc.Driver").url("jdbc:mysql://localhost:3306/mydatabase").username("root").password("password").build();}public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
}

依赖管理:

Spring: 在使用Spring时,你需要手动管理项目所需的所有依赖,包括Spring框架的核心模块、数据库连接池、日志等。

<!--Spring中手动管理依赖 -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.3.1</version>
</dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.1</version>
</dependency>

Spring Boot: Spring Boot通过Starter模块简化了依赖管理,通过引入相关的Starter,你可以轻松地获得所需功能的依赖。例如,你可以使用spring-boot-starter-web来快速启动一个Web应用,它会自动引入Web开发所需的依赖。

<!--Spring Boot中使用Starter简化依赖 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.4.1</version>
</dependency>

开发体验:

Spring: Spring需要开发人员手动配置很多细节,这可能导致配置的繁琐和错误。
Spring Boot: Spring Boot提供了自动配置,可以根据项目的依赖和类路径自动配置应用程序。这极大地简化了开发人员的工作,提高了开发效率。

嵌入式服务器:

Spring: 在Spring中,你需要手动配置并部署一个外部的应用服务器,如Tomcat或Jetty。

<!--Spring中配置外部Web服务器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"/><property name="suffix" value=".jsp"/>
</bean>

Spring Boot: Spring Boot内置了嵌入式的Web服务器(如Tomcat、Jetty、Undertow),使得应用程序可以作为一个独立的JAR文件运行,无需外部服务器。

// 在Spring Boot中无需外部服务器配置,使用默认嵌入式服务器
@SpringBootApplication
public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
}

约定优于配置:

Spring: 在Spring中,你需要显式配置很多内容,开发人员有更多的控制权,但需要花费更多的时间来配置。
Spring Boot: Spring Boot采用了约定优于配置的原则,提供了一组默认配置,开发人员只需专注于项目特定的配置,减少了样板代码。

结论

在选择Spring和Spring Boot之间,取决于项目的性质、开发者的经验和团队的需求。如果项目对灵活性有较高要求,需要进行复杂的定制和细致的配置,那么Spring可能更合适。而如果你注重快速搭建、简化部署,希望遵循约定优于配置的原则,那么Spring Boot可能更符合你的期望。

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

相关文章:

  • http网络编程——在ue5中实现文件传输功能
  • JVM之java内存区域[2](堆、方法区、直接内存)
  • k8s-kubectl常用命令
  • 如何在Docker上运行Redis
  • 【深度学习:集中偏差】减少计算机视觉数据集中偏差的 5 种方法
  • java数据结构与算法刷题-----LeetCode667. 优美的排列 II
  • win10 20h2 defender添加排除项失败怎么回事 Window Defender添加不了排除项如何处理
  • mysql生成最近24小时整点时间临时表
  • 基于PHP反序列化练习
  • ITSS、ITIL、ISO20000:哪个更适合你?
  • Linux配置yum源以及基本yum指令
  • 【AI视野·今日Robot 机器人论文速览 第七十五期】Thu, 11 Jan 2024
  • 阿里云ECS(CentOS镜像)安装docker
  • 服务器工作环境要求
  • 大数据开发之Spark(入门)
  • 【GoLang入门教程】Go语言工程结构详述
  • FPGA之分布式RAM(2)
  • 纯c实现栈和队列 数据结构大全
  • 测试开发基础 | 计算机网络篇(二):物理层与数据链路层
  • 【深度学习】BasicSR训练过程记录,如何使用BasicSR训练GAN
  • 喜讯 | 华院计算摘得“2023大数据产业年度创新技术突破”奖
  • stm32高级定时器死区时间
  • Python项目——久坐提醒定时器(PySide6)编写
  • Linux,常见的强制退出/结束命令(ctr+c/ctr+d/:q/exit)
  • 检查一个Java List是否包含某个JavaBean对象的特定值,并且获取这个值
  • 浮点数详解
  • LED流水灯
  • MySQL-B-tree和B+tree区别
  • 架构篇08:架构设计三原则
  • 基于SpringBoot Vue汽车租赁系统