快速上手SpringBoot1.X
Spring Boot技术栈(快速上手SpringBoot)
- 本篇带大家搭建开发环境,感受SpringBoot快速开发带来的好处
SpringBoot简介
Spring Boot 是一套全新的框架,它来自于 Spring 大家族,因此 Spring 所有具备的功能它都有,而且更容易使用;Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。Spring Boot 开发了很多的应用集成包,支持绝大多数开源软件,让我们以很低的成本去集成其他主流开源软件。
Spring Boot 所集成的技术栈,几乎都是各互联网公司在使用的技术,按照 Spring Boot 的路线去学习,基本可以了解国内外互联网公司的技术特点。
Spring Boot 和微服务架构都是未来软件开发的一个大趋势,越早参与其中受益越大。
1.开发环境搭建
1.创建和导入项目
- 访问 http://start.spring.io/
- 选择构建工具 Maven Project、Spring Boot 版本 1.5.8 及一些工程基本信息,可参考下图:
(https://gitee.com/haoyongliang/resources/raw/master/images/SpringBoot/01快速上手SpringBoot/快速上手SpringBoot/gouJianXiangMu.jpg) - 单击 Generate Project 按钮并下载项目压缩包。
- 这里使用的是 Idea,单击 File | New | Model from Existing Source.. | 选择解压后的文件夹 | OK 命令, 选择 Maven ,一路 Next,OK Done!
对上面的配置做一个解释
- 第一个选择框选择创建以 Maven 构建项目,还是以 Gradle 构建项目,这是两种不同的构建方式,其中 Gradel 配置内容更简洁一些,并且包含了 Maven 的使用,不过日常使用 Maven 居多。
- 第二个选择框选择编程语言,现在支持 Java、Kotlin 和 Groovy。
- 第三个选择框选择 Spring Boot 版本,可以看出 Spring Boot 2.0 已经到了第五个里程碑了。在实际使用中,我们会优先使用稳定版本,1.0 的最新稳定版本是 1.5.8,也是我们演示使用的版本。
下面就是项目的配置信息了。
- Group:一般填写公司域名,比如传智播客填 cn.itcast
- Artifact:可以理解为项目的名称,可以根据实际情况来填,本次演示填写 springBootDemo。
- Dependencies:在这块添加我们项目所依赖的 Spring Boot 组件,可以多选。本次选择 Web、devtools 两个模块。
2.项目结构介绍
Spring Boot 的基础结构共三个文件:
(https://gitee.com/haoyongliang/resources/raw/master/images/SpringBoot/01快速上手SpringBoot/快速上手SpringBoot/mulujiegou.jpg)
- src/main/java:程序开发以及主程序入口
- src/main/resources:配置文件
- src/test/java:测试程序
3.Sping Boot 建议的包结构
root package 结构:cn.giftsstore.myProject
1 | myproject |
4.各包名介绍
- Application.java:建议放到根目录下面,是项目的启动类,Spring Boot 项目只能有一个 main() 方法。
- comm:目录建议放置公共的类,如全局的配置文件、工具类等。
- domain:目录主要用于实体(Entity)与数据访问层(Repository)。
- repository:数据库访问层代码。
- service:该层主要是业务类代码。
- web:该层负责页面访问控制。
- resources 目录下:
- static:目录存放 Web 访问的静态资源,如 JS、CSS、图片等。
- templates:目录存放页面模板。
- application.properties:项目的配置信息。
- test 目录存放单元测试的代码;pom.xml 用于配置项目依赖包,以及其他配置。
采用默认配置可以省去很多设置,当然也可以根据自己的喜好来进行更改。最后,启动 Application main 方法,至此一个 Java 项目搭建好了!
2.简单 Web 开发
1.添加依赖
可以在 Spring Initializr 上面添加,也可以手动在 pom.xml 中添加:
1 | <dependency> |
- pom.xml 文件中默认有两个模块:
- spring-boot-starter:核心模块,包括自动配置支持、日志和 YAML;
- spring-boot-starter-test:测试模块,包括 JUnit、Hamcrest、Mockito。
2.编写控制层(controller)代码
1 | @RestController |
@RestController 的意思就是 controller 里面的方法都以 json 格式输出,不用再配置什么 jackjson 的了!
如果配置为@Controller 就代表着输出为页面内容。
3.查看运行结果
启动主程序,打开浏览器访问 http://localhost:8080/hello,就可以看到以下内容,是不是很简单!
1 | Hello World |
4.URL传参
这里仅仅做一个简单传参,第二章会详细介绍如何传参
1 | @RestController |
重新启动项目,访问 http://localhost:8080/hello?name=neo,返回内容如下:
1 | Hello World,neo |
经过上一个测试发现,修改 controller 内相关代码,就需要重新启动项目才能生效,这样做很麻烦是不是,别着急。Spring Boot 提供了另外一个组件来解决。
3.热部署
热启动就需要用到我们在一开始引入的另外一个组件:devtools。它是 Spring Boot 提供的一组开发工具包,其中就包含我们需要的热部署功能。但是在使用这个功能之前还需要再做一些配置。
在 dependency 中添加 optional 属性,并设置为 true:
1
2
3
4
5
6
7<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-Devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>在 plugin 中配置另外一个属性 fork,并且配置为 true:
1
2
3
4
5
6
7
8
9
10
11<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>配置 Idea
- 选择 File-Settings-Compiler 勾选 Build project automatically,低版本 Idea 勾选 make project automatically。
[![2](https://soobsj.oss-cn-hangzhou.aliyuncs.com/images/2024-11-05/ideahot.jpg)](https://gitee.com/haoyongliang/resources/raw/master/images/SpringBoot/01快速上手SpringBoot/快速上手SpringBoot/ideahot.jpg)(https://gitee.com/haoyongliang/resources/raw/master/images/SpringBoot/01快速上手SpringBoot/快速上手SpringBoot/ideahot.jpg)
- 使用快捷键:CTRL + SHIFT + A 输入Registry 找到选项 compile.automake.allow.when.app.running 勾选
[![3](https://soobsj.oss-cn-hangzhou.aliyuncs.com/images/2024-11-05/0.6294533078536897.png)](https://gitee.com/haoyongliang/resources/raw/master/images/SpringBoot/01快速上手SpringBoot/快速上手SpringBoot/0.6294533078536897.png)(https://gitee.com/haoyongliang/resources/raw/master/images/SpringBoot/01快速上手SpringBoot/快速上手SpringBoot/0.6294533078536897.png)
全部配置完成后,Idea 就支持热部署了,大家可以试着去改动一下代码就会发现 Spring Boot 会自动重新加载,再也不需要我们手动点击重新部署了。
- 选择 File-Settings-Compiler 勾选 Build project automatically,低版本 Idea 勾选 make project automatically。
为什么 Idea 需要多配置后面这一步呢,因为 Idea 默认不是自动编译的,需要我们手动去配置后才会自动编译,而热部署依赖于项目的自动编译功能。