全网最详细的SpringBoot入门保姆级教程,掌握这些知识点再也不怕面试通不过

本文介绍了SpringBoot如何通过约定优于配置的原则简化开发,包括其优点如轻量级替代JEE、依赖注入和自动配置,以及缺点如配置复杂性和依赖管理挑战。SpringBoot通过改进解决了这些问题,提高开发效率。此外,文章还概述了SpringBoot入门教程和项目创建步骤。
摘要由CSDN通过智能技术生成

官方的意思大概就是说:SpringBoot是所有基于Spring项目开发的起点,SpringBoot设计的目的就是为了让开发者尽可能快的运行Spring应用程序并尽可能减少Spring应用的配置文件。

约定优于配置(Convention over Configuration),又称按约定编程,是一种软件设计范式

本质上来讲,系统、类库或者框架都应该假定合理的默认值,而非要求提供不必要的配置。

例如:模型中有一个User类,那么数据库中就会有对应的数据表默认命名为User。只有在偏离这一约定的时候才会需要写有关这个名字的配置。

比如平时架构师搭建项目就是限制软件开发随便写代码,制定出一套规范,让开发人员按统一的要求进行开发编码测试之类的,这样就加强了开发效率与审查代码效率。所以说写代码的时候就需要按要求命名,这样统一规范的代码就有良好的可读性与维护性了。

约定优于配置的本质就是遵循约定,尽可能少用配置

Spring优点和缺点

优点

Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的 Enterprise Java Bean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和 面向切面编程,用简单的Java对象(Plain Old Java Object,POJO)实现了EJB的功能

缺点

Spring的组件代码是轻量级的,但它的配置却是重量级。但是一开始,Spring需要使用XML配置,而且是很多XML配置。Spring2.5引入了基于注解的组件扫描,消除了大量针对应用程序自身组件的显式XML配置。Spring3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。

这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维切 换,所以编写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring实用,但与此同时它要求的回报也不少。

除此之外,项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标, 而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题 就会严重阻碍项目的开发进度。

SSM整合:Spring、SpringMVC、Mybatis、Spring-Mybatis整合包、数据库驱动,引入依赖的数量繁多、容易存在版本冲突。

SpringBoot解决spring问题

SpringBoot对上述Spring的缺点进行的改善和优化,基于约定优于配置的思想,可以让开发人员不必在 配置与逻辑 业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期

起步依赖

起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。

简单的说,起步依赖就是将具备某种功能的依赖坐标打包到一起,并提供一些默认的功能。

自动配置

springboot的自动配置,指的是springboot,会自动将一些配置类的bean注册进ioc容器,我们可以需要的地方使用@autowired或者@resource等注解来使用它。

“自动”的表现形式就是我们只需要引我们想用功能的包,相关的配置我们完全不用管,springboot会自 动注入这些配置bean,我们直接使用这些bean即可

springboot: 简单、快速、方便地搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率

SpringBoot入门教程


需求:请求Controller中的方法,并将返回值响应到页面

创建SpringBoot项目

使用Spring Initializr方式构建Spring Boot项目

image.png

  • Project SDK”用于设置创建项目使用的JDK版本,项目中使用之前初始化设置好的JDK版本即可;在 “Choose Initializr Service URL(选择初始化服务地址)”下使用默认的初始化服务地址“start.spring.io” 进行Spring Boot项目创建(注意使用快速方式创建Spring Boot项目时,所在主机须在联网状态 下)

  • 如果使用快速构建的Default方式创建SpringBoot项目,就必须联网使用,所谓的快速构建本质就是在开发工具执行各项参数后,由Spring提供的URL所对应的服务器生成,Idea讲服务器生成的SpringBoot项目下载到本地空间中

image.png

image.png

SpringBoot项目结构分析

image.png

依赖管理

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.6.1

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

写在最后

很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

最后祝愿各位身体健康,顺利拿到心仪的offer!

由于文章的篇幅有限,所以这次的蚂蚁金服和京东面试题答案整理在了PDF文档里

蚂蚁、京东Java岗4面:原理+索引+底层+分布式+优化等,已拿offer

蚂蚁、京东Java岗4面:原理+索引+底层+分布式+优化等,已拿offer

蚂蚁、京东Java岗4面:原理+索引+底层+分布式+优化等,已拿offer

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

1-1712810998515)]

[外链图片转存中…(img-QSXcNepf-1712810998516)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-v1Pk1d24-1712810998516)]

  • 22
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值