spring boot和spring区别究竟在哪?

loading 分享 2026-8-25 下载文档

前言

今天本篇文章主要聚焦说说,spring boot和spring究竟有啥区别,重点对比MVC模块以及Security模块在两大框架使用时的区别。

1 、啥是spring?

简而言之,Spring框架为开发Java应用程序提供了全面的基础架构支持。 它包含一些很好的功能,如依赖注入和开箱即用的模块,如:

Spring JDBC Spring MVC Spring Security Spring AOP Spring ORM Spring Test

这些模块可以大大缩短应用程序的开发时间。

例如,在Java Web开发的早期阶段,我们需要编写大量的重复代码来将记录插入到数据源中。但是通过使用Spring JDBC模块的JDBCTemplate,我们可以将它简化为只需几个简单配置或者几行代码。

? ? ? ? ? ?

2,啥是spring boot?

Spring Boot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的复杂例行配置。

它的目标和Spring的目标是一致的,为更快,更高效的开发生态系统铺平了道路。

以下是Spring Boot中的一些功能:

通过starter这一个依赖,以简化构建和复杂的应用程序配置

可以直接main函数启动,嵌入式web服务器,避免了应用程序部署的复杂性

? ?

? ?

Metrics度量,Helth check健康检查和外部化配置 自动化配置Spring功能 - 尽可能的

下面进一步详述一下两者的区别:

3 、Maven依赖

首先,让我们看一下使用Spring创建Web应用程序所需的最小依赖项:

org.springframework spring-web 5.1.0.RELEASE org.springframework spring-webmvc 5.1.0.RELEASE

与Spring不同,Spring Boot只需要一个依赖项来启动和运行Web应用程序:

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

在构建期间,所有其他依赖项将自动添加到最终归档中。

另一个很好的例子是测试库。我们通常使用Spring Test,JUnit,Hamcrest和Mockito库集。在Spring项目中,我们应该将所有这些库添加为依赖项。 但是在Spring Boot中,我们只需要用于测试的启动器依赖项来自动包含这些库。

Spring Boot为不同的Spring模块提供了许多入门依赖项。一些最常用的是:

spring-boot-starter-data-jpa spring-boot-starter-security spring-boot-starter-test spring-boot-starter-web

? ? ? ?

?

spring-boot-starter-thymeleaf

4 、MVC配置

下面来探讨一下使用Spring和Spring Boot创建JSP Web应用程序所需的配置。

public class MyWebAppInitializer implements WebApplicationInitializer { @Override public void onStartup(ServletContext container) { AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.setConfigLocation(\ container.addListener(new ContextLoaderListener(context)); ServletRegistration.Dynamic dispatcher = container .addServlet(\ dispatcher.setLoadOnStartup(1); dispatcher.addMapping(\ } } 我们还需要将@EnableWebMvc注解添加到@Configuration注解类,并定义一个视图解析器来解析从控制器返回的视图:

@EnableWebMvc @Configuration public class ClientWebConfig implements WebMvcConfigurer { @Bean public ViewResolver viewResolver() { InternalResourceViewResolver bean = new InternalResourceViewResolver(); bean.setViewClass(JstlView.class); bean.setPrefix(\ bean.setSuffix(\ return bean; } } 与所有这些相比,一旦我们添加了Spring boot web starter,Spring Boot只需要一些属性来使上面的事情正常工作:

spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp 上面的所有Spring配置都是通过一个名为auto-configuration的进程添加Boot web starter来自动包含的。

这意味着Spring Boot将自动扫描应用程序中存在的依赖项,属性和bean,并根据这些内容启用相应的配置。

5 、配置模板引擎

再来看看如何在Spring和Spring Boot中配置Thymeleaf模板引擎,两者有啥区别?

在Spring中,我们需要为视图解析器添加 thymeleaf-spring5依赖项和一些配置:

@Configuration @EnableWebMvc public class MvcWebConfig implements WebMvcConfigurer { @Autowired private ApplicationContext applicationContext; @Bean


spring boot和spring区别究竟在哪?.doc 将本文的Word文档下载到电脑
搜索更多关于: spring boot和spring区别究竟在哪? 的文档
相关推荐
相关阅读