Springboot之初入江湖
Hello,各位小伙伴大家好,我是小栈君。
今天的分享主题是关于Springboot主题分享,其实在写这个系列主题之前有想过一些关于分享技术的顺序问题,因为我在创建“IT干货栈”这个公众号之初就是想要分享关于后端技术的一些干货。
想要各位感兴趣的小伙伴都能够学习到或是能够温故知新一些技术或者技能点,后端技术并不限于java还涉足于go、Python、区块链、人工智能和大数据等方面。
所以想将这些学习到的东西做成笔记分享给各位,避免实战中的踩坑,共同进步。
正是因为涉及的技术较多,反而在系列主题分享的时候会产生一丝顾虑,思前想后还是决定各个语言的教程系统的穿插发布。
如果小伙伴有比较好的建议或者意见欢迎给小栈君进行留言。搜索“IT干货栈”,每天都有有趣且实用的干货等你,我们共同进步,一起成长!
1、Springboot前传
闲话不多说,我们这段时间围绕着Springcloud微服务框架的基石Springboot进行系列讲解。
后期会对SpringCloud微服务的技术进行从零到一的完整讲解和实战。让大家对关于java后端技术有更加深入和具体的理解,循序渐进的掌握好技术。
java开发者之于Spring好比是骑士之于矛,战士之于剑。在java开发者必掌握的框架排行前三的就是Spring家族系列。
因为其中包含的IOC和AOP两大利器大大简化了软件开发的程度复杂性,并以其优良的设计模式在众多的开源框架中夺得头筹,属于名副其实的老大哥。
那么作为Spring家族的一重要成员,在目前以java语言开发的软件的不完全统计中以Springboot作为框架的已经涵盖了90%以上。
所以Spring的官网上也将Springboot放在了C位。

(图片来源于Spring官网)
算下来Spring已经经历了4个时代的变迁,Spring1.0时代主要是针对于通过XML的方式配置实体Bean。如图所示:

随着JDK的发展,Spring2.X进入了一个新的时代,可以通过注解对于Bean进行声明和注入,大大减少了XML的配置文件的体量,加速了软件开发的速度。
但是针对于资源文件和数据库的配置文件当然是十分推荐写在XML中的。从Spring3.x开始提供了Java配置方式,使用Java配置方式可以更好的理解你配置的Bean。
现在我们就处于这个时代,并且Spring4.x和Spring boot都推荐使用java配置的方式。

如果所示,在这个类上我们使用了三个注解,第一个@Configuration 作用在类上,相当于一个XML的配置文件。
这个标志的含义就是在容器启动的时候会自动加载这个类,@Bean 作用于方法上,其类比作用就和在XML中配置的Bean一样。
当然还有一个@LoadBalanced 注解方法属于在Springcloud中的负载均衡,这个在后面一个专题会详细进行讲解。
其实随着互联网的发展和公司产品的迭代,大家可以发现在技术选型上我们也是经历了从struts 到 SpringMVC 然后到Springboot 和Springcloud这一变迁,其实万变不离其宗。
Spring内核机制和设计模式依旧是我们需要研究和学习的。毕竟Spring全家桶已经占据了大半江山。
2、Springboot初探

官方解释springboot 是可以简单轻松的创建单体以及企业级应用项目,你可以“直接运行”这些运用程序。
并且我们也对Spring平台和第三方库有自己的简介,你可以轻松入门,许多Springboot项目只需要非常少的配置。综上所述Springboot就是采用了“习惯优于配置”,化繁为简。
3、构建项目
既然官方所讲的构建一个项目需要极少的配置,那么我们就进行实战一下是否真的如官方所言呢?
为了方便测试,首先我们在Spring官网上进行创建我们的项目框架
官方网站 :https://start.spring.io/

其实大家都可以都可以看到Spring官网可以很轻松的创建你想要的项目,并且在语言类型上支持了Maven和gradle ,语言的类型上也同样支持java、kotlin、Groovy。
版本方面有2.20、2.19、2.18 三个版本可供选择。并且对于第三方插件支持也是像官网上所讲的一样简单上手。
将预先设定好的项目下载下来可以用eclipse或idea工具打开即可看到我们项目的结构目录和相关的引用

从pom文件可以看出 Springboot的项目结构相对于我们传统的jar包引用和以前用pom文件的构建是简化了不少,并且在项目结构中已经生成了相关的启动类。

直接使用run方法就可以启动项目。是不是很简单呢,大家也可以试试哦

今天的分享就到这里就结束啦,如果你喜欢我的分享,麻烦你点击再看,分享或留言,我是小栈君,我们下期见,拜了个拜~

本文由博客一文多发平台 OpenWrite 发布!
Springboot之初入江湖的更多相关文章
- 解决 Springboot Unable to build Hibernate SessionFactory @Column命名不起作用
问题: Springboot启动报错: Caused by: org.springframework.beans.factory.BeanCreationException: Error creati ...
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...
- Springboot搭建web项目
最近因为项目需要接触了springboot,然后被其快速零配置的特点惊呆了.关于springboot相关的介绍我就不赘述了,大家自行百度google. 一.pom配置 首先,建立一个maven项目,修 ...
- Java——搭建自己的RESTful API服务器(SpringBoot、Groovy)
这又是一篇JavaWeb相关的博客,内容涉及: SpringBoot:微框架,提供快速构建服务的功能 SpringMVC:Struts的替代者 MyBatis:数据库操作库 Groovy:能与Java ...
- 解决 SpringBoot 没有主清单属性
问题:SpringBoot打包成jar后运行提示没有主清单属性 解决:补全maven中的bulid信息 <plugin> <groupId>org.springframewor ...
- SpringBoot中yaml配置对象
转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...
- springboot 学习资源推荐
springboot 是什么?对于构建生产就绪的Spring应用程序有一个看法. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.(这是springboot的官方介绍) 我们为什么要学 ...
- Springboot框架
本片文章主要分享一下,Springboot框架为什么那么受欢迎以及如何搭建一个Springboot框架. 我们先了解一下Springboot是个什么东西,它是干什么用的.我是刚开始接触,查了很多资料, ...
- 如何在SpringBoot中使用JSP ?但强烈不推荐,果断改Themeleaf吧
做WEB项目,一定都用过JSP这个大牌.Spring MVC里面也可以很方便的将JSP与一个View关联起来,使用还是非常方便的.当你从一个传统的Spring MVC项目转入一个Spring Boot ...
随机推荐
- codeforces 284 E. Coin Troubles(背包+思维)
题目链接:http://codeforces.com/contest/284/problem/E 题意:n种类型的硬币,硬币的面值可能相同,现在要在满足一些限制条件下求出,用这些硬币构成t面值的方案数 ...
- poj 1511 Invitation Cards(dijstra优化)
题目链接:http://poj.org/problem?id=1511 题意:给出n个点和n条有向边,求所有点到源点1的来回最短路之和(保证每个点都可以往返源点1) 题目比较简单就是边和点的个数有点多 ...
- python科学计算与可视化视频教程
目录: 下载链接:https://www.yinxiangit.com/616.html 第一单元TVTK入门-1.mp4第一单元TVTK入门-2.mp4第一单元TVTK入门-3.mp4 第一单元TV ...
- (转)为什么HashMap中链表长度超过8会转换成红黑树
原博地址:https://blog.csdn.net/xingfei_work/article/details/79637878 HashMap在jdk1.8之后引入了红黑树的概念,表示若桶中链表元素 ...
- 获得本机IP和访问服务的端口号(Java)
1. //获取本机ip地址 InetAddress addr = InetAddress.getLocalHost(); String ip=addr.getHostAddress().toStrin ...
- 计算2个GPS坐标的距离
本文转自 http://blog.csdn.net/ztp800201/article/details/44676867 Java 计算两个GPS坐标点之间的距离 1. Lat1 Lung1 表示A点 ...
- Lottie在手,动画我有:ios/Android/Web三端复杂帧动画解决方案
为什么需要Lottie 在相对复杂的移动端应用中,我们可能会需要使用到复杂的帧动画.例如: 刚进入APP时候可能会看到的入场小动画,带来愉悦的视觉享受 许多Icon的互动变化比较复杂多变的时候,研 ...
- jquery ajax到servlet出现中文乱码(utf-8编码下)
个人遇到的该问题有两大类: 第一类很普遍,就是jsp页面编码没有规定,servlet中接收参数没有转码,response没有使用setContentType()和setCharacterEncodin ...
- mysql生成主键
在mysql中,可以使用uuid 来生成主键,但是用mysql的uuid()函数 ,生成的uuid是36位的,其中包含32个字符以及4个分隔符(-), 往往这个分隔符对我们来说是没有用的,可以使用my ...
- ASP.NET Core 2.2 : 二十三. 深入聊一聊配置的内部处理机制
上一章介绍了配置的多种数据源被注册.加载和获取的过程,本节看一下这个过程系统是如何实现的.(ASP.NET Core 系列目录) 一.数据源的注册 在上一节介绍的数据源设置中,appsettings. ...