springboot的那些特性,为什么适应微服务技术生态?
- 独立的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视频教程》
以上就是springboot的那些特性,为什么适应微服务技术生态?的详细内容,更多请关注其它相关文章!