阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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:003780
用户头像

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

关注

评论

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

关键帧缓入缓出曲线调节控制操作AE脚本 Kease for mac

Rose

Flink 2.0 状态存算分离改造实践

Apache Flink

云图说|揭秘云原生服务生命周期治理平台,云原生服务中心OSC

华为云开发者联盟

云原生 华为云 华为云开发者联盟 华为云云图说

AI创业创新的三个误区及应对之道

算AI

人工智能 创业 AI 创新

EMQX Enterprise 5.3 发布:审计日志、Dashboard 访问权限控制与 SSO 一站登录

EMQ映云科技

国内第一个开源免费电子签章系统发布了

开放签开源电子签章

开源 电子签章 开放签

完蛋!我把AI喂吐了!

有道技术团队

人工智能 大模型 QAnything

别人还在集五福,星河社区开发者已经奖品拿到手软了!

飞桨PaddlePaddle

百度 百度飞桨 飞桨星河社区

敏捷产品是双轨开发而非双轨制

ShineScrum捷行

Navicat Premium 15 :专为简化数据库的管理及降低系统管理成本而设计

Rose

支付宝花呗分期如何接入

盐焗代码虾

支付宝 经验分享 花呗分期

揭秘海外云手机的诸多优势

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机

HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用

HarmonyOS开发者

HarmonyOS

【视频】互联网Java工程师面试突击训练(三季)

Geek_bbbdb0

Java 面试

【视频】小甲鱼零基础入门学习Python(全96集)

Geek_bbbdb0

Python

前端开发CSS实用的技巧有哪些

小魏写代码

AE脚本-智能快速图层对齐工具 Align Pro

Rose

AE脚本-真实三维立体文字标题排版空间翻转组合动画 TypeMonkey3D

Rose

技术标准|隐语技术标准的 What & Why & How

隐语SecretFlow

技术标准 隐私计算 数据要素流通

说说开放签电子签章开源的这一年

开放签开源电子签章

开源 电子合同 年终总结 电子签名 电子签章

TitanIDE v2.8.0正式发布,模板市场来袭!

行云创新

ide CloudIDE 代码编辑器 云端IDE 云端IDE+大模型

PS插件-模拟真实投影拖尾阴影工具 Shadowify v1.0.1

Rose

影响2024年Web3赛道的三大事件

TechubNews

聊聊在不确定环境下的个人成长

Phoenix

跨境电商新风潮:充分发挥海外云手机的威力

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机

网站被攻击有什么办法?

德迅云安全杨德俊

华为微信红包封面新春献礼,龙年送福更添彩

最新动态

鸿蒙星河版启航!系统级原生智能实现应用「零成本」AI化

新消费日报

1 月 Web3 游戏行业概览:市场实现空前增长

Footprint Analytics

区块链游戏 gamefi

小艺上线新春限定版!丰富玩法一起“花式”迎龙年

最新动态

solidity案例详解(二)众筹合约

BSN研习社

区块链 Solidity

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