写点什么

Spring Boot 美女开发者:编程不是男孩子的专属游戏

  • 2017-08-09
  • 本文字数:2440 字

    阅读完需:约 8 分钟

相信不少 Java 开发者都不会对 Spring 陌生,作为开源项目,Spring 备受关注也与时俱进。在各个公司开始尝试落地微服务的过程中,Spring Boot 是不可不研究 。为了更好地了解 Spring Boot,InfoQ 专门对 Spring Boot 团队开发者 Madhura Bhave 进行了采访,这位来自 Pivotal 的美女程序员进行了专业而又深入浅出的解答。

受访者简介

Madhura Bhave, Pivotal 的 Spring Boot 团队中的开发人员。在加入 Spring Boot 团队之前,Madhura 曾从事 UAA 相关的工作(UAA 是适用于 Cloud Foundry 的身份验证和授权组件,用 Spring 编写)。Madhura Bhave 将作为分享嘉宾出席 8 月 26 日于北京召开的 Spring Summit,进行《魔术揭秘:深入挖掘 Spring Boot 的内在潜力》的主题分享。

InfoQ:能否用您自己的方式向我们介绍下 Spring Boot 和 Spring 框架?

Madhura Bhave:Spring Framework 是一个可用于创建企业级应用程序的 Java 平台。 Spring 专注于企业应用程序的“管道”,使团队可以专注于应用程序级的业务逻辑。它有超过 20 个模块,如 Web、数据访问 / 集成等等,这可能使 Spring 成为构建应用程序的一站式服务。Spring Boot 基于 Spring 框架,使应用程序开发人员可以快速创建生产级应用程序,而不需要进行太多配置。它会尝试根据您添加的 Jar 来自动配置应用程序。

可以将 Spring 框架视为车辆的部件,并将 Spring Boot 作为制造车辆本身。根据个人选择车辆部件,获得汽车、卡车、飞机等。

InfoQ:Spring Boot 的设计原则是怎样的?

Madhura Bhave:Spring Boot 的设计原则之一是配置的约定哲学。它旨在帮助创建一个可以“运行”,让开发者快速运行应用程序。它被设计为高度开箱即用,但用户也同样可以根据自己需求进行设置。

InfoQ:能否解释下 Spring Boot 与 Spring Cloud 之间的关系?

Madhura Bhave:Spring Boot,Spring Cloud 和 Microservices 都可以混淆,但三者之间的关系其实是正交。

微服务架构是将软件应用程序构建为一套小型、可独立部署的服务的一种方式。其目标是通过将应用程序分成多个可组合的部分,使应用程序更易于构建和维护。

Spring Cloud 构建在 Spring Boot 之上,重点是为分布式应用程序提供良好的开箱即用体验。 Spring Cloud 包含了一些增强应用程序行为的库、配置属性、服务发现、断路器,这些都是 Spring Cloud 对分布式系统的支持。刚才所说的这些模式都是微服务架构的重要组成部分,因此 Spring Cloud 非常适合开发微服务器。

InfoQ:与已有同类项目、自行编写方案相比,Spring 的特点是怎样的?

Madhura Bhave:与同类项目相比,我认为 Spring 可以很好地管理两个矛盾的目标:长期的可用性即 API 稳定性 vs 对最新技术(JDK 和库版本)和趋势的支持。

与自编码解决方案相比,Spring 拥有大量用户群体,可以帮助 Spring 提供恰到好处的 API 和编程模型,而这些几乎可以覆盖所有的需求场景。

InfoQ:Spring 一直在不断改善丰富,但这是不是也意味着越来越复杂?您怎么看待这件事?您如何设想 Spring Boot 的未来?

Madhura Bhave:今年 Spring Boot 2.0 版本即将问世。Spring 确实很大,因为它与很多不同的技术相结合。但是,尽管 Spring 辐射的技术区域不断增加,但我并不认为这意味着更复杂。Spring 是高度模块化的设计,开发者只需要关心他选择的组件。Spring Boot 正是为简化 Spring 配置而设计的,这本身就是一个很好的例子。

软件开发是一个迅速发展并且充满挑战的行业。Spring 一直在努力地跟进优秀的新范式,比如最近的响应式编程(reactive programming)。同时,Spring 提供了一致的模型,并允许开发者将积累的知识用于新范例的使用。 Spring Boot 2.0 主要新特性集成了 Spring Framework 5 中对响应式编程的支持。

InfoQ:如何掌握 Spring Boot 等 Spring 项目?有哪些推荐入门的资料?

Madhura Bhave:入门 Spring 和 Spring Boot 有很多学习资源。 Spring 团队撰写很多使用方法和技巧指南 https://spring.io/guides。 Josh Long 也有一个 Spring Tips 视频系列: https://www.youtube.com/playlist?list=PLgGXSWYM2FpPw8rV0tZoMiJYSCiLhPnOc。

InfoQ:请谈谈 Pivotal 在 Spring 的贡献,如何使其成为一个开放源码,同时又是商业产品?

Madhura Bhave: Spring 本身是开放的源码,拥有大量的贡献者。 Pivotal 是 Spring 的主要赞助商,并且大部分 Spring 的社区贡献者都在 Pivotal 工作。 Pivotal 还拥有 Pivotal Cloud Foundry(PCF),它是一个基于开源 Cloud Foundry 的平台即服务(PaaS)。 Spring 为 PCF 提供了一些商业产品,使 PCF 成为运行 Spring Boot 和 Spring Cloud 应用程序的最佳选择。

Spring Cloud 项目中有服务器端组件,包括 Spring Cloud Netflix 和 Spring Cloud Config 等,这些可以作为 PCF Marketplace 中的提供服务。 PCF Apps Manager UI 与 Spring Boot 致动器端点集成,可以更轻松地监控和管理云中的应用程序。当然,由于商业产品建立在现有的开源项目之上,社区的反馈和贡献在塑造 Spring 项目方面发挥了重要作用。

InfoQ:人们说,“编程是男孩子的游戏”。您对此怎么看?可以结合您的亲身经历谈谈吗?

Madhura Bhave:我认为你的编码能力与你的性别无关。在 Pivotal 的工作中,我曾与女工程师合作,他们的工程能力与他们最好的男性不相上下。不可否认的是,这个行业中男性占了大多数,而且女性数量略显缺乏。还有一些技术强的女性并不是很积极地为开源项目贡献,可能是对自己的能力没有足够信心、担心不被接受。然而,依据我的所见所闻,女性技能并不差。同时,并不是所有人都歧视女生,以我亲身经历举例,在我的团队中,我的意见和其他同事一样被受到重视。

InfoQ:能告诉我们“什么是一个好的软件工程师”?成为一个好的程序员的基本能力是什么?

Madhura Bhave:要在任何领域取得成功,你必须爱上你所做的事情。这同样适用于编程,你的热情和奉献会陪伴你走很长很远的路。当然,我也认为沟通和同理心也很重要,特别是在开源项目 (OSS,Open-source software) 中,共同协作的人们分布在世界各地。

2017-08-09 19:003970
用户头像

发布了 58 篇内容, 共 44.1 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

替代 Elasticsearch,TDengine 助力四维图新将存储空间利用率提升 8 倍

TDengine

数据库 tdengine

Spring Data Elasticsearch 使用示例

Java elasticsearch 4月月更

己酉篇 「反元富民」《「內元宇宙」聯載》

因田木

元宇宙

OpenMLDB:线上线下一致的生产级特征计算平台

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

16 条 yyds 的代码规范

爱好编程进阶

Java 程序员 后端开发

H2 数据库如何以服务器方式启动

HoneyMoose

H2 数据库采用客户/服务器端连接数据的 JDBC 参数

HoneyMoose

电商秒杀系统架构设计

李大虾

#架构实战营 「架构实战营」

SAP 云平台(Cloud Platform)架构概述

汪子熙

云计算 云平台 SAP 云计算架构师 4月月更

2021金三银四巨作!10万字!阿里高工纯手码JDK源码笔记 带你飙向实战

爱好编程进阶

Java 程序员 后端开发

Tomcat:网络请求原理分析

IT巅峰技术

灵感乍现!造了个与众不同的Dubbo注册中心扩展轮子

捉虫大师

Java dubbo 注册中心 4月月更

丁未篇 「元宇宙超次元 」 《「內元宇宙」聯載》

因田木

Web3.0 命書

OpenHarmony加速行业应用落地,多款软件发行版正在通过兼容性测评

OpenHarmony开发者

OpenHarmony

敏捷开发中如何从容应对需求变更?

华为云开发者联盟

敏捷开发 需求 软件开发 需求变更

Amazon Aurora 读写能力扩展之 ShardingSphere-JDBC 篇

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

如果只有一周时间,怎么快速提升线上系统的稳定性?

Samson

运维 监控 技术管理 SRE 系统稳定性

企业知识库建立的目的及意义

小炮

知识库

17 网站架构的伸缩性设计

爱好编程进阶

Java 程序员 后端开发

20万+字,熬夜整理了一份程序员不可或缺的软技能高分原创电子书送给你

爱好编程进阶

Java 程序员 后端开发

FL STUDIO20.9中文版汉化包注册激活教程

茶色酒

FL STUDIO20.9

Windows Edge 浏览器的有关 URL 链接的复制粘贴

HoneyMoose

使用 GoRouter 进行 Flutter 导航:Go 与 Push

坚果

4月月更

(项目实战)如何结合k8s和pipeline的流水线,并通过k8s接口完成镜像升级

爱好编程进阶

Java 程序员 后端开发

80+产品正通过兼容性测试,OpenHarmony生态蓬勃发展

OpenHarmony开发者

OpenHarmony

2020最新互联网数据调查显示,Kotlin-势必取代-Java?

爱好编程进阶

Java 程序员 后端开发

2021金三银四吃透这份Java面试突击手册!成功跳槽涨薪30K

爱好编程进阶

Java 程序员 后端开发

融云国产化适配排坑指南

融云 RongCloud

Docker下,pinpoint环境搭建

程序员欣宸

Java Docker 4月月更 Pinpoint

APICloud数据云3.0使用教程

YonBuilder低代码开发平台

后端开发 APP开发 APICloud 数据云

C语言总结_语句、运算符

DS小龙哥

4月月更

Spring Boot 美女开发者:编程不是男孩子的专属游戏_语言 & 开发_木环_InfoQ精选文章