纯⼿写SpringBoot教案系列-SpringBoot⼊门
⽂章⽬录
⼀.SpringBoot 简介
SpringBoot是伴随着Spring4.x的推出同时推出的⼀个框架.
框架的核⼼思想就是简化应⽤程序or⽹站的开发,提⾼开发效率
⽽SpringBoot将这⼀理念做到了极致,提出了约定⼤于配置的概念
随着近⼏年微服务,云技术的流⾏,SpringBoot更是成为企业级开发的必备利器
以下是来⾃百度百科的介绍
Spring Boot是由Pivotal团队提供的全新框架,其设计⽬的是⽤来简化新Spring应⽤的初始搭建以及开发过程。该框架使⽤了特定的⽅式来进⾏配置,从⽽使开发⼈员不再需要定义样板化的配置。通过这种⽅式,Spring Boot致⼒于在蓬勃发展的快速应⽤开发领域(rapid application development)成为领导者。
记住:虽然SpringBoot很⽜很强⼤,但是它并不是⼀项新的技术,它只是整合了Spring全家桶
在我写这篇教案的时候,最新的SpringBoot版本是2.1.7
⼆.SpringBoot优缺点
1. 优点
快速创建独⽴运⾏的Spring项⽬以及与主流框架集成
使⽤嵌⼊式Servlet容器,应⽤⽆需打war包,以jar的形式独⽴运⾏(如果想打成war包也可以)
starters启动器,提供⾃动依赖与版本控制
⼤量的⾃动配置,简化开发,也可以⾃⼰配置
no xml,开箱即⽤(l)
准⽣产环境的运⾏时监控
与云计算的天然集成(受益于Spring全家桶的⽆缝整合)
2. 缺点
⼊门容易精通难,受制于之前对于Spring全家桶其余产品的熟悉程度,不建议新⼿直接学习
三.SpringBoot时代背景
1.微服务
什么是敏捷开发?
传统的软件开发,开发者得先研究清楚⽤户所有的需求,再开发出⼀套完整的⽅案。这不仅使得开发周期长,⽽且整套⽅案中决不允许有任何纰漏,否则⽤户的需求就⽆法满⾜,⽽对开发者来说,更改也⾮常困难。⽽敏捷开发则是从⽤户核⼼需求⼊⼿,在短时间内拿出⼀个原型,然后根据⽤户的其他需求增加模块,同时修改和完善,属于“可以让汽车⼀边跑,⼀边换轮⼦”的开发⽅式,⾮常适合对开发周期要求越来越短的商业软件开发。
实现敏捷开发的核⼼就是服务(也称业务)的拆分,将业务拆分为⼀个个⼩的模块,互相之间⽤HTTP的⽅式通信,就是我们所说的微服务架构SpringBoot既可以开发AIO(All In One)的应⽤,Spring家族的出⾝也给予了SpringBoot"微"化和上云的能⼒
四.学习SpringBoot⼤前提
拥有Spring框架的使⽤经验(必备)
熟练使⽤Maven的项⽬构建和依赖管理
熟练使⽤STS(Spring基于Eclipse的改版或IDEA)
五.本次课程环境约束
java version “1.8.0_191”(SpringBoot 推荐1.7以上)
Spring 4.x(必须是4.0以后)
SpringBoot 2.1.6.RELEASE
IntelliJ IDEA 2018.3.1 x64
mysql 5.5
Maven 3.3.9
六.开发前的准备
1. 下载,安装,破解IDEA(略)
2. 配置IDEA的Maven仓库
1. 打开IDEA
2. 同时按住Ctrl+Alt+S,唤醒IDEA设置界⾯
3. 在搜索框内搜索maven(或者在build>build tools中到maven设置)
4. 选中maven版本为最后⼀项(本地仓库)
5. 打开maven仓库地址,到l(我的路径为:D:/Program Files/JetBrains/IntelliJ IDEA
2018.3.1/plugins/maven/lib/maven3)
6. 打开l后,到mirror,添加阿⾥云镜像服务器(防⽌被墙)
7. 保存后配置完成
七.Hello World
浏览器访问⽹站根路径,服务器返回Hello World字符串
1.使⽤Spring Initializer快速创建SpringBoot项⽬注意:⼀定要联⽹操作
1. 打开IDEA或者STS
2. 点击创建项⽬
3. 输⼊包名:com.scj
4. 输⼊组织ID:hello
5. 下⼀步
6. 选择web模块(可见SpringCloud的依赖很多,占了半数,可惜⽤不上)
7. 下⼀步
8. 点击完成IDEA会⾃动从官⽹下载⽬录结构和依赖
2. 删除多余的⽂件,保留⽬录结构如图
3. ⾃动⽣成的pom⽂件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="/POM/4.0.0"xsi="/2001/XMLSchema-instance"
schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/><!-- lookup parent from repository -->
</parent>
<groupId>com.scj</groupId>
<artifactId>hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>hello</name>
<description>Hello World</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
除了必要的依赖以外,SpringBoot还贴⼼的为我们⾃动加了单元测试(因为世界上没有没有bug的代码) 4. 开发业务功能springcloud难学吗
在创建项⽬后,我们就可以直接开发业务功能⽽不⽤关⼼复杂繁琐的配置
1. 到src>main>java>com.scj.hello
2. 右键新建⼀个Controller
3. 按照这样命名,IDEA会⾃动帮我们创建controller包
4. 编写BaseController代码
package com.ller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @ClassName BaseController
* @Description 基础控制器
* @Author QinLing
* @Date 2019/8/9 0009 15:46
* @Version 1.0
**/
@Controller
public class BaseController{
@ResponseBody
@RequestMapping("/")
public String hello(){
return"Hello SpringBoot";
}
}
5. 点击运⾏
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论