加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

Spring和SpringBoot比较,解惑区别

发布时间:2019-04-05 19:37:30 所属栏目:评测 来源:SanLi
导读:1、概述: 对于 Spring 和 SpringBoot 到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot 的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,我相信对于用了 SpringBoot 很久的开发人员来说,有绝大部分还不是很

默认情况下,Spring Boot使用嵌入式容器来运行应用程序。在这种情况下,Spring Boot使用public static void main入口点来启动嵌入式Web服务器。此外,它还负责将ServletFilterServletContextInitializer bean从应用程序上下文绑定到嵌入式servlet容器。
Spring Boot的另一个特性是它会自动扫描同一个包中的所有类或Main类的子包中的组件。
Spring Boot提供了将其部署到外部容器的方式。在这种情况下,我们必须扩展SpringBootServletInitializer

  1. /** 
  2. * War部署 
  3. * @author SanLi 
  4. * Created by 2689170096@qq.com on 2018/4/15 
  5. */ 
  6. public class ServletInitializer extends SpringBootServletInitializer { 
  7.  
  8.   @Override 
  9.   protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
  10.       return application.sources(Application.class); 
  11.   } 
  12.  
  13.   @Override 
  14.   public void onStartup(ServletContext servletContext) throws ServletException { 
  15.       super.onStartup(servletContext); 
  16.       servletContext.addListener(new HttpSessionEventPublisher()); 
  17.   } 

这里外部servlet容器查找在war包下的META-INF文件夹下MANIFEST.MF文件中定义的Main-classSpringBootServletInitializer将负责绑定ServletFilterServletContextInitializer

6、打包和部署

最后,让我们看看如何打包和部署应用程序。这两个框架都支持MavenGradle等通用包管理技术。但是在部署方面,这些框架差异很大。例如,Spring Boot Maven插件在Maven中提供Spring Boot支持。它还允许打​​包可执行jarwar包并就地运行应用程序。

在部署环境中Spring Boot 对比Spring的一些优点包括:
  • 提供嵌入式容器支持
  • 使用命令java -jar独立运行jar
  • 在外部容器中部署时,可以选择排除依赖关系以避免潜在的jar冲突
  • 部署时灵活指定配置文件的选项
  • 用于集成测试的随机端口生成
7、结论

简而言之,我们可以说Spring Boot只是Spring本身的扩展,使开发,测试和部署更加方便。

【编辑推荐】

  1. Springboot,SSM框架比较,区别
  2. 阿里工程师开发了一款免费工具,提升Kubernetes应用开发效率
  3. Vim哭了,浏览器就能远程VS Code开发,还支持Docker快速部署运行
  4. 干货分享:六个知名的Go语言Web框架
  5. 小程序多端框架全面测评
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读