适合新手的spring bootSpringBoot简介及快速搭建,⼀⽂让你搞懂springboot的前世今
⽣
前⾔
springboot对于JAVA程序员来说⼀定不会陌⽣,这是⽬前⼤⼚主流运⽤的框架技术,但最近同学私信我说springboot刚开始学就想放弃了,我⼼想springboot并不是很难呀肯定是没⽤⼼,但架不住这位同学的苦苦哀求,于是我出了⼀期springboot的⼊门级⽂章,我敢说这应该是最精简的总结了(⽴个fig),现在分享出来,⼤家来帮我看看!
1.简介
SpringBoot它基于Spring4.0设计,是由 Pivotal 公司提供的框架。
2014 年 4 ⽉发布 Spring Boot 1.0 基于Spring4.0
2018 年 3 ⽉ Spring Boot 2.0发布 基于Spring 5.0。
SpringBoot 基于 Spring 开发。不仅继承了Spring框架原有的优秀特性,它并不是⽤来替代 Spring 的解
决⽅案,⽽和 Spring 框架紧密
结合进⼀步简化了Spring应⽤的整个搭建和开发过程。其设计⽬的是⽤来简化 Spring 应⽤的初始搭建以及开发过程怎么简化的呢?就是通过提供默认配置等⽅式让我们更容易使⽤。
关于 SpringBoot 有⼀句很出名的话就是约定⼤于配置。采⽤ Spring Boot 可以⼤⼤的简化开发模式,它集成了⼤量常⽤的第三⽅库配置,所有你想集成的常⽤框架,它都有对应的组件⽀持,例如 Redis、MongoDB、Dubbo、kafka,ES等等。SpringBoot 应⽤中这些第 三⽅库⼏乎可以零配置地开箱即⽤,⼤部分的 SpringBoot 应⽤都只需要⾮常少量的配置代码,开发者能够更加专注于业务逻辑。
另外SpringBoot通过集成⼤量的框架使得依赖包的版本冲突,以及引⽤的不稳定性等问题得到了很好的解决。
简化Spring应⽤开发的⼀个框架;
对整个企业级开发技术栈的⼀个⼤整合build anything;
J2EE开发的⼀站式解决⽅案;
优点
--快速构建⼀个独⽴的 Spring 应⽤程序 ;
--嵌⼊的 Tomcat 、 Jetty 或者 Undertow,⽆须部署 WAR ⽂件;
--提供starter POMs来简化Maven配置和减少版本冲突所带来的问题;
--对Spring和第三⽅库提供默认配置,也可修改默认值,简化框架配置;
--提供⽣产就绪型功能,如指标、健康检查和外部配置;
--⽆需配置XML,⽆代码⽣成,开箱即⽤;
2.Why SpringBoot?
刚才说 SpringBoot 简化了基于 Spring 开发,这只是最直观的⼀⽅⾯;还有⼀个⽅⾯: 也更得⼒于各微服务组件的⽀持,这也是谈SpringBoot 必谈微服务的原因。(起初是Netflix移植到Spring),可以说是Spring Cloud带动了SpringBoot ,SpringBoot成就了SpringCloud。
SpringBoot和微服务的⽕热程度是同步的
2.1微服务
2014年⼀个叫 Martin Fowler (同时也是经典著作《重构:改善既有代码的设计》⼀书的作者)发表了⼀篇关于微服务的博客,⽐较形象⽣动地介绍了什么是微服务,然后微服务才慢慢被⼈所熟知。
他说微服务其实是⼀种架构风格,我们在开发⼀个应⽤的时候这个应⽤应该是由⼀组⼩型服务组成,每个⼩型服务都运⾏在⾃⼰的进程内;⼩服务之间通过HTTP的⽅式进⾏互联互通和微服务相对应的就是我们之前的,单体应⽤,就是⼤名⿍⿍的 all in one 的风格。这种风格把所有的东西都写在⼀个应⽤⾥⾯,⽐如我们熟悉的OA,CRM,ERP系统,所有的页⾯,所有的代码都放在⼀起,打成打成⼀个war包,然后把war包放在Tomcat容器中运⾏。
这种传统web开发的架构模式当然也有它的优势,⽐如它测试部署⽐较简单,因为不涉及到多个服务的互联互调,只需要把⼀个包上传到服务器就⾏了,可以说是⼀⼈吃饱全家不饿。同样也不会给运维带来⿇烦,⽅便⽔平扩展,只需要⼜把相同的应⽤复制多份放在不同的服务器中就达到了扩展的⽬的。
单体应⽤的的缺点也显⽽易见,容易牵⼀发⽽动全⾝,⽐如要更改⼀个⼩⼩的功能,就可能需要重新部署整个应⽤。当然,更⼤的挑战就是⽇益增长的⽤户需求。
3.快速开始 SpringBoot Hello World
前置知识要求:
–SSM框架的使⽤经验
–熟练使⽤Maven进⾏项⽬构建和依赖管理
–熟练使⽤Eclipse或者IDEA 2018+
环境要求
Spring Boot 2.3.5.RELEASE需要Java 8,并且与Java 15(包括)兼容。 还需要Spring Framework 5.2.10.RELEASE或更⾼版本。
构建⼯具的⽀持
开发⼯具
eclipse
Idea 2018+(别忘了配置Maven、jdk)
3.1创建⼀个maven⼯程;(jar)
3.2 项⽬中引⼊依赖
1 <!‐‐继承springboot的⽗项⽬‐‐>
2 <parent>
3 <groupId>org.springframework.boot</groupId>
4 <artifactId>spring‐boot‐starter‐parent</artifactId>
5 <version>2.3.5.RELEASE</version>
6 <relativePath/> <!‐‐ lookup parent from repository ‐‐>
7 </parent>
8
9 <dependencies>
10 <!‐‐引⼊springboot的web⽀持‐‐>
11 <dependency>
12 <groupId>org.springframework.boot</groupId>
13 <artifactId>spring‐boot‐starter‐web</artifactId>
14 </dependency>
15 </dependencies>
3.3 建包并创建控制器
1 //在项⽬中创建指定的包结构
2 /*
3 cn
4 +| tulingxueyuan
5 +| controller */
6 @Controller
7 @RequestMapping("/hello")
8 public class HelloController {
9 @RequestMapping("/world")
10 @ResponseBody
11 public String hello(){
12 System.out.println("======hello world=======");
13 return "hello";
14 }
15 }
16
3.4 编写启动类
1 //在项⽬中如下的包结构中创建启动类 Application
2 /*
3 cn
4 +| tulingxueyuan
5 +| Application.java */
6 @SpringBootApplication
7 public class Application {
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论