Spring Boot 产⽣生的背景和它的设计理理念——Spring Boot(一)

MobaXterm终端工具个人学习版安装包及常用配置备份 资源包含 MobaXterm 个人版的安装包以及日常运维常用的基础配置备份文件。适用于网络工程师及运维人员用于日常的服务器管理、SSH 连接及串口调试。 压缩包内附带了个人整理的软件使用技巧与配置说明(仅供个人学习参考)。请各位同行下载后注意,技术工具请尽量支持官方正版,本资源仅供个人测试与交流使用,切勿用于商业环境。 立即下载

要了解 Spring Boot 产⽣生的背景,我们就必须要先了了解⼀一下 Spring 发展史,不仅因为 Spring Boot 来源于
Spring 体系,而且 Spring Boot 的诞生和 Spring 框架的发展息息相关。

Spring的发展史:


时间回到2002年,当时正是JavaEE和EJB大行其道的时候,很多知名公司都是采用此技术方案进行项目开发。这时候有一个美国的小伙子认为EJB太过臃肿,并不是所有的项目都需要使用EJB这种大型框架,应该会有一种更好的方案来解决这个问题。

为了证明他的想法是正确的,于2002年10月甚至写了一本书《Expert One-on-One J2EE》,介绍了当时Java 企业应用程序开发的情况,并指出了JavaEE和EJB组件框架中存在的一些主要缺陷。在这本书中,他提出了一个基于普通Java类和依赖注入的更简单的解决方案。

在书中,他展示了如何在不使用EJB的情况下构建高质量,可扩展的在线座位预留系统。为了构建应用程序,他编写了超过30000行的基础结构代码,项目中的根包命名为com.interface21,所以人们最初称这套开源框架为interface21,也就是Spring的前身。

他是谁呢,他就是大名鼎鼎的 Rod Johnson(下图),Rod Johnson 在悉尼大学不仅获得了计算机学位,同时还获得了音乐学位,更令人吃惊的是在回到软件开发领域之前,他还获得了音乐学的博士学位。现在Rod Johnson已经离开了Spring,成为了一个天使投资人,同时也是多个公司的董事,早已走上人生巅峰。
 

在这本书发布后,一对一的J2EE设计和开发一炮而红。这本书免费提供的大部分基础架构代码都是高度可重用的。2003年 Rod Johnson 和同伴在此框架的基础上开发了一个全新的框架命名为Spring,据Rod Johnson 介绍Spring 是传统J2EE新的开始,随后Spring发展进入快车道。

  • ·2004年03月,1.0版发布。·2006年10月,2.0版发布。
  • ·2007年11月,更名为SpringSource,同时发布了Spring 2.5。
  • ·2009年12月,Spring3.0发布。
  • ·2013年|12月,Pivotal 宣布发布Spring 框架4.0。
  • ·2017年09月,Spring5.0发布。
     

Spring Boot 的诞⽣生


多年以来,Spring平台饱受非议的一点就是大量的XML配置以及复杂的依赖管理。随着使用Spring进行开发的个人和企业越来越多,Spring也慢慢从一个单一简洁的小框架变成一个大而全的开源软件,Spring的边界不断的进行扩充,到了后来Spring几乎可以做任何事情了,市面上主流的开源软件、中间件都有Spring 对应组件支持,人们在享用Spring的便利之后,也遇到了一些问题。

Spring 每集成一个开源软件,就需要增加一些基础配置,慢慢的随着人们开发的项目越来越庞大,往往需要集成很多开源软件,后期使用Spring 开发大型项目需要引入很多配置文件,太多的配置非常难以理解,并容易配置出错,到了后来人们甚至称Spring为配置地狱。

在2013年的SpringOne 2GX会议上,Pivotal的CTOAdrian Colyer回应了这些批评,并且特别提到该平台将来的目标之一就是实现免XML配置的开发体验。Spring Boot所实现的功能超出了这个任务的描述,开发人员不仅不再需要编写XML,而且在一些场景中甚至不需要编写繁琐的import语句。

2013年,微服务的概念也慢慢兴起,快速开发微小独立的应用变得更为急迫,Spring刚好处在这么一个交叉点上,于2013年初开始的Spring Boot项目的研发,2014年,Spring Boot 伴随着Spring 4.0诞生发布了第一个正式版本。

Spring Boot 并不是要成为Spring 平台里面众多“Foundation”层项目的替代者。Spring Boot的目标不在于为已解决的问题或提供新的解决方案,而是为平台带来另一种开发体验,从而简化对这些已有技术的使用。对于已经熟悉Spring 生态系统的开发人员来说,Spring Boot是一个很理想的选择;对于采用Spring技术的新人来说,Spring Boot 提供一种更简洁的方式来使用这些技术。
 

Spring Boot 开发团队


我们经常会看到在介绍Spring Boot的时候有这么一句:Spring Boot是由Pivotal团队提供的全新框架。由此我们得知Spring Boot 是由Pivotal团队所研发,那么Pivotal团队到底是一个什么样的团队呢?其实这里的Pivotal 团队是指 Pivotal公司。

Pivotal 公司介绍:致力于变世界构造软件的方式(We are transforming how the world builds software)",提供云原生应用开发Paas平台及服务,帮助企业客户采用敏捷软件开发方法论,从而提高软收集件开发人员工作效率、减少运维成本,实现数字化转型、IT创新,并最终实现业务创新。

Pivotal 公司可谓是大牛云集,公司研发的产品有:Spring以及衍生框架、缓存中间件Redis、消息队列框架RabbitMa、数据引擎产品 Greenplum,还有Tomcat、Groovy里的一些顶级开发者,DevOps理论的提出者都在这个公司。2016年风靡全球的云原生理意亦是Pivotal公司提出,美国硅谷著名的精益化创业书籍的作者Eric Ries也加入了Pivotal公司。Spring Boot为什么如此的优秀,正是因为背后有这些全球的顶级开发者。

回顾Pivotal公司的发展历史,简直就是一场商业并购大片:

  • ·1989年,米创立Pivotal Labs公司,它的主营业务是与客户合作,帮助客户开发软件,曾给谷歌、Twitter 公司傲技术支持;
  • 2003年,EMC收购了VwMware;
  • ·2009年,VMware 收购了Spring公司;
  • 2012年,EMC以现金方式收购了Pivotal Labs公司;
  • 2013年,EMC和VMware分拆出其Cloud Foundry、Pivotal Labs、Greenplum等云计算、大数据资源,GE投资1.05亿美元,成立新公司 Pivotal;
  • 2015年,EMC又被DELL所收购。

Pivotal公司成立之后,于2014年发布了Sping Boot,2015年发布了Spring Cloud,2018年Pivotal公司在纽约上市。我们可以通过一张图来了解Pivotal公司的发展史。

约定优于配置


那么什么是约定优于配置呢?

约定优于配置(Convention Over Configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量、获得简单的好处,而又不失灵活性。

本质是说,开发人员仅需规定应用中不符约定的部分。例如,如果模型中有个名为User的类,那么数据库中对应的表就会默认命名为user。只有在偏离这一约定时,例如将该表命名为“user_info”,才需写有关这个名字的配置。

我们可以按照这个思路来设想,我们约定 Controller 层就是Web请求层可以省略MVC的配置;我们约定在Service 结尾的类自动注入事务,就可以省略了Spring的切面事务配置.…。

在Spring体系中,Spring BootJPA就是约定优于配置最佳实现之一,不需要关注表结构,我们约定类名即是表名,属性名即是表的字段,String 对应varchar,long 对应bigint,只有需要一些特殊要求的属性,我们再单独进行配置,按照这个约定我们可以将以前的工作大大的简化。

Spring Boot体系将约定优于配置的思想展现得淋淋尽致,小到配置文件,中间件的默认配置,大到内置容器、生态中的各种Starters 无不遵循此设计规则。Spring Boot 鼓励各软件组织方创建自己的Starter,创建Starter的核心组件之一就autoconfigure模块,也是Starter的核心功能,在启动的时候进行自动装配,属性默认化配置。

可以说正是因为Spring Boot简化的配置和众多的 Starters 才让Spring Boot变得简单、易用、快速上手,也可以说正是约定优于配置的思想的彻底落地才让Spring Boot 走向辉煌。Spring Boot约定优于配置的思想让Spring Boot项目非常容易上手,让编程变的更简单,其实编程本该很简单,简单才是编程的美。

Starters


 

Spring Boot Starters 基于约定优于配置的理念来设计,Spring Boot Starter中有两个核心组件:自动配置代码和提供自动配置模块及其它有用的依赖。也就意味着当我们项目中引入某个Starter,即拥有了此软件的默认使用能力,除非我们需要特定的配置,一般情况下我仅需要少量的配置或者不配置即可使用组件对应的功能。

Spring Boot由众多Starter 组成,随着版本的推移 Starter 家族成员也与日俱增。在传统Maven项目中通常将一些层、组件拆分为模块来管理,以便相互依赖复用,在Spring Boot 项目中我们则可以创建自定义Spring Boot Starter 来达成该目的。

Spring Boot 拥有强大融合社区开源软件的能力,在没有使用Spring Boot之前,我们需要按照每个开源软件的特性,将对应的组件包集成到我们的开发项目中,因为每个组件的设计理念和开发团队都不一致,因此会有很多不同的调用风格在我们的项目中。

Spring Boot整合了主流的开源软件形成了一系列的Starter,让我们有了一致的编程体验来集成各种软件,Spring Boot在集成的时候做了大量的优化,让我们在集成的时候往往只需要很少的配置和代码就可以完成。可以说各种Starters 就是Spring Boot最大的优势之一。
 

以下为常用的 Spring Boot Starter 列表。

完整的 Starter 参考这⾥里里:Spring Boot application starters。

因为Spring Boot足够的强大,很多第三方社区都进行了主动的集成比如:MyBatis、RabbitMQ(高级用法)等,第三方社区支持的列表,可以在这里查看 Community Contrilbutions,可以看到社区贡献的其他Starters列表。
看完这些 Starters会不会瞬间觉得Spring Boot很强大,几乎我们涉及的开源软件都做了支持,在Spring Boot 环境下使用这些软件,仅仅只需要引入对应的Starter包即可。


Sprlng、Sprlng Boot 和Sprlng Cloud的关系

Spring 最初核心的两大核心功能Spring loC和Spring Aop成就了Spring,Spring在这两大核心功能上不断的发展,才有了Spring 事务、Spring MVC等一系列伟大的产品,最终成就了Spring帝国,到了后期Spring 几乎可以解决企业开发中的所有问题。

Spring Boot是在强大的Spring 帝国生态基础上面发展而来,发明Spring Boot 不是为了取代Spring,是为了让人们更容易的使用Spring。所以说没有Spring 强大的功能和生态,就不会有后期的Spring Boot火热,Spring Boot 使用约定优于配置的理念,重新重构了Spring的使用,让Spring后续的发展更有生命力。

Spring 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部器和易维护的分布式系统开发工具包。

Spring Cloud 是一系列框架的有序集合,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部器。Spring Cloud 是为了解决微服务架构中服务治理而提供的一系列功能的开发框架,并且Spring Cloud是完全基于Spring Boot而开发,Spring Cloud 利用Spring Boot 特性整合了开源行业中优秀的组件,整体对外提供了一套在微服务架构中服务治理的解决方案。

综上我们可以这样来理解,正是由于Spring loC和Spring Aop 两个强大的功能才有了Spring,Spring生态不断的发展才有了Spring Boot,使用Spring Boot 让Spring 更易用更有生命力,Spring Cloud是基于Spring Boot 开发的一套微服务架构下的服务治理方案。

以下为它们之间的关系。

Spring IoC/Aop > Spring > Spring Boot > Spring Cloud

总结

Spring Boot 诞生一方面是因为Spring 自身发展所遇到的问题,另一方面在微服务思想诞生之际,急需要一款快速开发工具来实现微服务技术落地,在这样的背景下诞生了Spring Boot.Spring Boot整体的设计思想是:约定优于配置、依赖此设计思路,Spring Boot 进行了大刀阔斧的改革,让人们非常容易的实现开发、测试、部器。众多的Starters成就了Spring Boot的发展,让使用Spring Boot 开发项目变的更加简单。
 

机械臂的「抽风」自救指南:从万向节死锁到毫米级丝滑抓取 立即下载

相关推荐

科技中介服务机构如何借助平台提升技术撮合服务的专业性与响应速度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Spring和SpringBoot简介

开源轻量级的Java开发框架,提高开发效率和可维护性,Spring如今是Java杀手级的框架,Java如今依然屹立不倒Spring有很大功劳。

terrybg 1万+

别再为10G UDP发愁了!手把手教你用Xilinx 10G/25G Ethernet Subsystem IP核搭建FPGA网络栈(附12套工程源码)

本文详细介绍了基于Xilinx UltraScale架构的FPGA网络栈开发,重点讲解了10G/25G Ethernet Subsystem IP核的应用实践。通过手把手教程和12套工程源码,帮助开发者解决10G UDP通信中的物理层接口、协议栈实现和系统集成等核心挑战,实现高性能FPGA网络栈搭建。

weixin_42522575的博客 364

spring 项目背景

  第 2 章 项目背景 2.1. 反向控制(IoC)/依赖注入 在2004年的早期,当谈论反向控制(Inversion of Control)时,Martin Fowler询问他的网站读者: "问题是他们颠倒了控制的什么方面?"。 经过对术语反向控制(IoC)的讨论,Martin建议更改模式的命名, 或者至少给它一个更自我描述的名字,...

w923080512的专栏 186

NVIDIA DGX Spark 开发环境深度配置与优化指南

定期系统维护每月执行一次完整的系统更新监控存储空间使用情况,及时清理临时文件定期检查硬件健康状况开发习惯优化使用tmux或screen管理长时间运行的任务配置自动化测试和代码质量检查建立完善的项目文档体系性能调优周期每月重新评估和调整系统参数根据工作负载特点优化容器配置持续监控和记录性能指标DGX Spark作为一个强大的AI开发平台,其真正的价值需要通过精细的环境配置和优化才能充分发挥。本文提供的配置方案和建议均基于实际生产环境经验,旨在帮助开发者构建稳定、高效、可维护的开发环境。

time_days的博客 3686

matlab内读取文件目录时斜杠和反斜杠的使用

@matlab内读取文件目录时斜杠和反斜杠的使用TOC matlab内读取文件目录时,斜杠和反斜杠的使用 最近被斜杠和反斜杠弄晕了,于是总结了一下,在此和大家分享一下。 代码 clear; clc; close all; I1= imread('..\zs1.jpg'); %和代码文件夹同目录的图片 (纯反斜杠) I2= imread('../zs2/zs2.j...

weixin_44456694的博客 6574

为什么说 Java 程序员到了必须掌握 Spring Boot 的时候?

文章摘录于我在 gitchat 上的分享Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,就单从我个人的博客的访问量大幅增加就可以感受到...

纯洁的微笑 1万+

Codex CLI 的多模型切换实战:如何在中转 API 环境下灵活选择最佳模型

本文详细介绍了在Codex CLI中实现多模型切换的实战技巧,重点解析了如何在中转API环境下灵活选择最佳AI模型。通过配置Node.js环境和智能路由策略,开发者可以根据任务类型、编程语言和成本考量,在GPT-5、Claude和DeepSeek等模型间高效切换,提升代码生成、审查和优化的效率。

weixin_29291185的博客 836

spring boot 背景

关键字 简化、为微服务(spring-cloud)提供技术基础 1. 背景 任何一门新技术的诞生,通常都是为了解决某段时期内的某个问题。 选择学习或使用一门新技术时,最好首先了解它解决了什么问题,为何产生,后续是否选择这门新技术也能做到心中有数。下面我们就简单的聊聊spring boot有何特别之处。 spring 丰富的框架和组件大大简化了java项目开发过程,经过多年的实践,

老杨叔叔 4470

【动态导通电阻】GaN HEMT动态导通电阻的精确测量

2023年7月,瑞士洛桑联邦理工学院的Hongkeng Zhu和Elison Matioli在《IEEE Transactions on Power Electronics》期刊发表文章,提出了一种稳态测量方法,用于研究氮化镓(GaN)高电子迁移率晶体管(HEMT)的动态导通电阻(Ron)。实验结果显示,商业GaN器件在稳态下的动态Ron变化显著,稳定时间可达数分钟且与电压相关。传统的脉冲测量方法由于测试时间不足,可能导致结果不准确。该

荷塘阅色 1376

AB测试面试题

AB实验流程以一个实际的业务场景去描述AB实验流程,限定场景来减少和面试官的信息差,确保沟通高效可以以自己简历上某个相关项目的场景来举例,或者以面试的岗位对应的业务来举例子。不能光自己说,要让面试官参与进来,引导面试官往自己熟悉的内容提问,从被动转为主动。回答要有逻辑性,简洁、准确的表达。还是延用之前提到的项目案例,假设之前抖音拍摄页面中右下角相册功能的icon 由相册图标改为 用户相册的最新一张照片这个案例写在了我的简历中。

qq_45727498的博客 857

Linux代码编译(c语言)

编译代码: 为什么要编译代码? 机器只能识别二进制 编译:将代码翻译为二进制。 编译命令:在终端输入 gcc 1.c -o 1 终端:类似于windows中的CMD,可以接收命令,以及输出命令的结果 右击空白的地方,在终端中打开 路径在当前路径下。 gcc 1.c -o 1 编译器命令 源文件 output 目标文件 翻译代码的工具,利用编译器把1.c编译生成一...

qq_36752619的博客 185

流体动力学仿真软件:XFlow_(20).案例研究:声学仿真

在流体动力学仿真软件中,声学仿真是一个重要的应用领域。通过数值模拟,工程师和科研人员可以预测和分析流体系统中的声学现象,如气动噪声、声波传播和声场分布。这些仿真结果对于优化设计、降低噪声水平和提高系统性能具有重要意义。本节将详细介绍如何在流体动力学仿真软件中进行声学仿真,包括声学模型的选择、参数设置、后处理分析等内容,并通过具体的案例来说明这些步骤。

kkchenjj的博客 902

Spring Boot 产生的背景和它的设计理念 1-1

要了解 Spring Boot 产⽣的背景,我们就必须要先了解一下 Spring 发展史,不仅因为 Spring Boot 来源于 Spring 体系,而且 Spring Boot 的诞⽣生和 Spring 框架的发展息息相关 Spring 发展历史 时间回到 2002 年,当时正是 Java EE 和 EJB 大行其道的时候,很多知名公司都是采⽤用此技术方案进行项目 开发。这时候...

qq_34227896的博客 1516

新手必读!2025最全AI智能体入门手册,50个问题全讲透

感知(Perception):能读取环境,比如读取网页数据、识别用户输入、接入 API;思考(Reasoning/Planning):理解任务目标,规划出行动步骤;行动(Action):调工具、查资料、发消息、写入数据库……直接执行任务。有了这三步,智能体才不是“一个会说话的大模型”,而是真正的“能落地执行的工作代理人”。多个 Agent 分工协作,每个智能体负责一个角色或任务节点,像一个“虚拟团队”。一个爬数据的 Agent,一个提炼要点的 Agent,一个撰写报告的 Agent,

互联网架构师笔记 1968

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

sql注入是如何产⽣生的,怎么防止?

所谓SQL注⼊入,就是通过把SQL命令插⼊入到Web表单提交或输⼊入域名或⻚页⾯面请求的查询字符串串,最终达到欺骗服务器器执⾏行行恶意的SQL命令。如何防范:检查⽤用户输入的合法性,过滤掉⼀一些常⻅见的数据库关键字:select、insert、update、delete、and、or等;避免提示出现⼀一些详细的错误消息,因为⿊黑客们可以利利⽤用这些消息。要使⽤用⼀一种标准的输⼊入确认机制来验证所有...

Python小虫虫的博客 470

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

注意 iOS系统键盘的九宫格键盘输入的内容

➋➌➍➎➏➐➑➒

allanGold 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【SQL入门】内连接:显式连接、隐式连接 外连接:左外连接、右外连接

一、SQL是什么 Structured Query Language结构化查询语言 二、SQL练习 约定: mysql>> (mysql>>后面所跟的命令是在进入mysql后输入的) shell>> (shell>>后面所跟的命令是window命令) dos下使用mysql shell>>mysql -u root -p mysql client下使用mysql 直接输入密码 —————

wanwan_javaweb的专栏 7169

关于SQL语句外连接中的过滤条件

使用左外连接时,注意以下两点 第一张表的过滤条件写在where子句中 其余各张表的过滤条件写在on子句中

zwvista的专栏 5150

Spring Boot 产生的背景和它的设计理念

要了解 Spring Boot 产生的背景,我们就必须要先了解一下 Spring 的发展史,不仅因为 Spring Boot 来源于 Spring 体系,而且 Spring Boot 的诞生和 Spring 框架的发展息息相关。

技术杂谈 1678

SpringBoot简介

spring优缺点分析 Spring的优点分析: Spring是Java企业版的轻量级代替品。无需开发重量级的Enterprise,Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象实现lEJB的功能。 Spring的缺点: 虽然Spring的组件代码是轻量级的,但他的配置却是重量级的。 SpringBoot概念简介 Spring Boot是Spring公司的一个顶级项目,和Spring Framework是一个级别的。 SpringBoot

qq_45429856的博客 502

SpringBoot企业级应用实战

SpringBoot企业级应用实战 基础教程 SpringBoot 快速入门 SpringBoot快速入门,不继承SpringBoot父依赖项目 SpringBoot集成MyBatis SpringBoot热部署 SpringBoot整合freemarker SpringBoot整合模板引擎Thymeleaf SpringBoot整合redis SpringBoot集成Redis...

业精于勤-行成于思 1万+

SpringBoot(一)简介于诞生背景

SpringBoot SpringBoot是spring家族的一员,其诞生的目的主要是为了简化开发spring应用的步骤,开发一个应用不在需要繁琐的配置.学习了springboot三个多小时,springBoot给我最大的感触就是快速,敏捷,不用写太多繁琐的配置文件 普通web项目步骤 举个栗子,如果不用springBoot,平时我们开发一个Web应用程序需要以下步骤 新建一个web...

tangyaya8的博客 1693

҉菊҉花҉文҉生҉成҉器҉

今天看这篇文章时,猛然发现这样乱糟糟的一片文字,复制之后居然连这些噪点都复制上来了,于是就搜了两下,找到这么两篇资料: http://www.javaeye.com/topic/377628 http://parandroid.com/wtf-is-this-characte/ 这个叫“菊花文”,也有叫做“蚂蚁文”,貌似早被人用了很久了,看来我的故乡是火星。 不过我还是饶有兴趣地做了一个简易的菊花...

weixin_34342992的博客 549

SpringBoot专栏--设计理念

SpringBoot的核心:约定优于配置 约定优于配置(Convention over Configuration),也称作按约定编程,是一种软件设计范式,目的在于减少开发人员需做决定的数量、获得简单的好处。本质地说,就是开发人员仅需规定应用下不符规定的部分。例如,加入模型中有个User的类,那么数据库对应的表默认为user。只有偏离这一约定时才需要配置。 ...

m0_37176232的博客 2268

有三个学⽣生,编程找出分数最⾼者以及年龄最小者

//typedef typedef struct sangexuesheng {     char name[10];     int score;     int age; }SG; int main(int argc, const char * argv[]) {     //有三个学⽣生,赋予信息     SG stu1 = {"dage",59,30};

Elvist的博客 995
上一篇: Redis面试题汇总(一)
下一篇: Spring Boot 2.0 都更更新了什么——Spring Boot(二)
无知是恶
博客等级 码龄7年 9粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值