当前位置: 首页 > 开发知识 >

Spring框架和Spring Boot框架的区别

作者:游戏app开发公司 阅读: 发布时间:2024-08-21 21:01

摘要:什么是Spring Boot框架?什么是Spring框架?他们的目标是什么?他们产生的背景是怎样的,两者有什么区别,我们应该使用哪个框架进行开发...

什么是Spring Boot框架?什么是Spring框架?他们的目标是什么?他们产生的背景是怎样的,两者有什么区别,我们应该使用哪个框架进行开发,带着这样的疑问,我们开始今天的讲解。

离焦框架镜和普通框架区别_Spring框架和Spring Boot框架的区别_

Spring框架背景

Spring框架是Java最受欢迎的应用程序开发框架之一。Spring的最佳功能是它具有依赖注入(DI)或控制反转(IOC), 这使我们能够开发松耦合的应用程序。而且,松耦合的应用程序可以轻松地进行单元测试。 隔壁的PHP中的Laravel为什么大手欢迎,也是它实现了依赖注入、控制反转的功能。

依赖注入

考虑下面的示例- MyController 要通过 MyService 来执行特定任务。因此,首先我们要获取MyService的实例,我们将使用:

MyService service = new MyService();

现在,我们为创建了实例 MyService ,我们看到两者紧密耦合。如果MyService 在的单元测试中 创建的模拟 MyController ,如何 MyController 使用该模拟?有点困难-是吗?

@RestController
public class MyController {
 private MyService service = new MyService();
 @RequestMapping("/welcome")
 public String welcome() {
 return service.retrieveWelcomeMessage();
 }
}

依赖注入的示例

仅通过两个注释,我们就可以MyService 轻松获得实例,而实例之间 并不是紧密耦合的。Spring框架做了所有艰苦的工作,使事情变得更简单。

因此,Spring框架将为其创建一个bean MyService 并将其自动连接到中 MyController。

在单元测试中,Spring框架可以将模拟MyService 自动关联到 MyController 。

@Component
public class MyService {
 public String retrieveWelcomeMessage(){
 return "Welcome to InnovationM";
 }
}
@RestController
public class MyController {
 @Autowired
 private MyService service;
 
 @RequestMapping("/welcome")
 public String welcome() {
 return service.retrieveWelcomeMessage();
 }
}

Spring框架还有许多其他功能,以下是一些它比较流行的模块:

面向切面的编程(AOP)是Spring框架的另一个强项。面向对象编程中强调的是类,而在AOP中,强调的是面。

例如,如果要在项目,日志记录等中添加安全性,则可以仅使用AOP并将其作为跨领域的关注点,而不涉及主要业务逻辑。可以在方法调用之后,方法调用之前,方法返回之后或异常发生之后执行任何操作。

Spring框架没有自己的ORM,但是它提供了与ORM的很好的集成,例如Hibernate,Apache iBATIS等。

简而言之,我们可以说Spring框架提供了一种分离的方式来开发Web应用程序。借助Spring中的这些概念(例如Dispatcher Servlet,ModelAndView和View Resolver),Web应用程序开发变得容易。

Spring Boot背景

现在,如果您已经使用过Spring,请考虑一下在开发具有所有功能的成熟Spring应用程序时遇到的问题。设置Hibernate数据源,实体管理器,会话工厂和事务管理非常的复杂,并且要花费大量的时间。对于开发人员来说,使用带有最少功能的Spring MVC建立基本项目可能就需要花费大量时间。

 
 
 /WEB-INF/views/
 
 
 .jsp
 
 


 dispatcher
 
 org.springframework.web.servlet.DispatcherServlet
 
 
 contextConfigLocation
 /WEB-INF/my-servlet.xml
 
 1
 
 
 dispatcher
 /
 

使用Hibernate时,我们必须配置诸如数据源,EntityManager等之类的东西。


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Spring Boot解决办法Spring Boot会完成所有使用的工作, 自动配置并且会处理应用程序所需的所有内部依赖关系-您所需要做的就是运行应用程序。如果Spring jar 在类路径中,则Spring Boot将使用Dispatcher Servlet自动配置 。如果Hibernate jar 在类路径中,它将自动配置到数据源 。Spring Boot为我们提供了一组预配置的Starter项目,这些项目将作为依赖项添加到我们的项目中。在Web应用程序开发期间,我们将需要使用的jar,使用的jar版本以及如何将它们连接在一起。所有Web应用程序都具有类似的需求,例如Spring MVC,Jackson Databind,Hibernate core和Log4j(用于日志记录)。因此,我们必须选择所有这些jar的兼容版本。为了降低复杂性,Spring Boot引入了我们所谓的Spring Boot Starters。

Spring Web Project的依赖关系


 org.springframework
 spring-webmvc
 4.2.2.RELEASE


 com.fasterxml.jackson.core
 jackson-databind
 2.5.3


 org.hibernate
 hibernate-validator
 5.0.2.Final


 log4j
 log4j
 1.2.17

Starters 是一组方便的依赖项,可以将其包含在Spring Boot应用程序中。对于使用Spring和Hibernate,我们只需要在项目中包括spring-boot-starter-data-jpa依赖项。

Spring Boot Starter Web依赖


 org.springframework.boot
 spring-boot-starter-web

Spring Boot项目有很多软件包。一旦添加了该启动程序依赖项,Spring Boot Starter Web就会预先打包所有这些文件。作为开发人员,我们无需担心这些依赖关系及其兼容版本。

Spring Boot Starter项目选项

这些是很少的入门项目,可帮助我们快速开发特定类型的应用程序。

正是有了Spring Boot,让我们告别了繁琐的配置,可以更加快速专注地开发我们的web应用。

  • 原标题:Spring框架和Spring Boot框架的区别

  • 本文由游戏app开发公司小编,整理排版发布,转载请注明出处。部分文章图片来源于网络,如有侵权,请与迪集网络联系删除。
  • 微信二维码

    CLWL6868

    长按复制微信号,添加好友

    微信联系

    在线咨询

    点击这里给我发消息QQ客服专员

    点击这里给我发消息电话客服专员

    在线咨询

    免费通话


    24h咨询☎️:132-5572-7217


    🔺🔺 24小时客服热线电话 🔺🔺

    免费通话
    返回顶部