热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

springboot的那些特性,为什么适应微服务技术生态?

springboot为了独立性,直接把web服务集成在框架里,项目创建后,直接启动就可以是一个微服务,这种方式省去了部署过程,过去模式的开发部署不只是麻烦

- 独立的Spring应用程序,直接嵌入Tomcat、Jetty或Undertow,独立运行,不需要部署;

- 提供自主的“starter”部署,简化构建配置;

- 自动配置spring和第三方库;

- 一定程度的线上环境监控;

springboot为了独立性,直接把web服务集成在框架里,项目创建后,直接启动就可以是一个微服务,这种方式省去了部署过程,过去模式的开发部署不只是麻烦,有些场景甚至没法部署自测,springboot的开发部署一体,自测交付顺理成章,各模块独立性更强,配合敏捷开发流程非常方便。

springboot使用starter封装自己的扩展功能,并且自带默认配置,需要的功能只需要引入对应的starter就可以了,想要打印日志有spring-boot-starter-logging,想要数据库访问有spring-boot-starter-jdbc,想要密码校验有spring-boot-starter-security,想要监控有spring-boot-starter-actuator。springboot本身足够轻量级,配合starter丰富的功能扩展,使用springboot开发最简单的服务,到最复杂的服务都能轻松构建,非常nice。

springboot的自动配置,@EnableAutoConfiguration可以借助SpringFactoriesLoader的特性将标注了@Configuration的JavaConfig类汇总并加载到最终的ApplicationContext,基于@Conditional预先设置的条件,自动配置的依赖模块是按需加载的,只有符合某些特定条件,这些依赖模块才会生效。以上内容属于掉书包,重新解释一下,自动配置使用了SpringFactoriesLoader的特性,查找配置类,经过滤汇总后,一起加载到IOC容器。

通过引用spring-boot-starter-actuator的功能,可以在springboot系统运行时获取系统信息,如获取应用基本信息、健康检查、性能指标等。但是通常情况下,会用三方框架解决生产监控问题,可以提供更多更完善的监控功能。

springboot的设计极大减轻程序员构建项目的工作量,轻易创建一个项目,大量使用spring的习惯配置,即使不修改任何配置,也能运行的很好。当微服务时代到来,服务经常是短时间内上线下线,springboot的快速构建部署的特点,依托于庞大的java生态,使它得以迅速流行。


推荐阅读
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • PHP插件机制的实现方案解析
    本文深入探讨了PHP中插件机制的设计与实现,旨在分享一种可行的实现方式,并邀请读者共同讨论和优化。该方案不仅涵盖了插件机制的基本概念,还详细描述了如何在实际项目中应用。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 前端开发:从底层到顶端的行业现象解析
    在编程领域,鄙视链现象屡见不鲜,从C语言到Java、.NET等,每个技术栈都有其独特地位。然而,前端开发者尽管常处于鄙视链底端,却在市场需求中备受青睐。本文深入探讨这一现象,并分析前端工程师如何在竞争激烈的市场中脱颖而出。 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
author-avatar
晒太阳的人2015
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有