Spring Boot学习之路(1)——Spring Boot项目创建及基本介绍
前言
我所用到的开发工具为:
IntelliJ IDEA 2021.2.2、Apache Maven 3.8.1、Spring Boot2.6.2、jdk1.8.0_281
提示:以下是本篇文章正文内容,下面案例可供参考
一、Spring Boot 介绍及优点
1.Spring Boot 介绍
Spring Boot是基于Spring框架开发而来的,其设计目的是为了简化Spring框架应用的初始化搭建和开发过程。而且Spring Boot整合了许多框架和第三方库配置,基本可以做到“开箱即用”。而且大部分的Spring Boot应用都只需少部分的配置,而正因为这一特性能够使开发人员更加专注于业务逻辑的实现。
简单来说Spring Boot框架就是一个微服务框架。
2.Spring Boot 优点
(1) 可快速构建独立的Spring应用
即在构建项目时,只需要添加相应的场景依赖,Spring Boot就会根据添加的场景依赖自动进行配置,无需额外手动添加配置的情况下快速构建出一个独立的Spring应用。
(2) 直接嵌入tomcat、jetty和undertow服务器
Spring Boot框架内嵌tomcat、jetty和undertow服务器,可以自动将项目打包,并在项目运行的时候部署到服务器中。
(3)通过依赖启动器简化构建配置
在Spring Boot项目构建过程中,无需在额外准备各种独立的jar文件,只需要在构建项目的时候根据开发场景选择相应的依赖启动器“starter”,就会自动下载拉去相关的jar包。
(4)自动化配置Spring和第三方库
使用Spring Boot开发项目时,一旦引入某个场景的依赖启动器,Spring Boot内部提供的默认自动化配置类就会生效,除了开发者要更改默认的配置外否则开发者无需额外的手动配置相应的文件,从而极大减少了开发者的工作量,提高了程序的开发效率
(5)提供生产就绪功能
Spring Boot提供了一些用于生产环境运行时的特性,例如指标、监控检查和外部化配置,其中外部化配置可以使运维人员快速、方便的进行外部化配置和部署工作。
(6)极少的代码生成和XML配置
Spring Boot框架内部已经实现了与Spring以及其他常用第三方库的整合连接,并提供了默认最优化的整合配置,使用时基本上不需要额外生成配置代码和XML配置文件。
二、Spring Boot创建
1.使用maven创建
(1)配置maven
具体配置方法可以看用生命研发技术作者写的IDEA2021.2安装与配置这里面有详细的介绍。
(2)一切都配置好后开始创建 选择New Project创建新的项目
(3)进行开始的选择maven——SDK——Next
(4)填写项目名和设置项目位置然后Finish完成创建
(5)在pom.xml当中填写相应的Spring Boot依赖
代码如下:
<!--对spring boot进行统一的版本依赖-->
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.6.2</version>
</parent>
<dependencies>
<!--引入spring boot的web依赖主要是对web开发所需的配置进行了统一的管理-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.6.2</version>
</dependency>
<!--单元测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!--热部署依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
(6)创建主程序启动类choap1
启动类代码为:
package com.wbl;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @Author:lietu
* @Date:2022/1/820:46
*/
@SpringBootApplication
public class choap1 {
public static void main(String[] args) {
SpringApplication.run(choap1.class, args);
}
}
(7)在com.wbl包下创建一个controller的包,在这个包下创建一个HelloController的请求控制类
代码为:
package com.wbl.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author:lietu
* @Date:2022/1/820:52
*/
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello Spring Boot!!!";
}
}
(8)运行结果如下:
这边有一个坑要注意,就是Spring Boot运行时默认的tomcat窗口时8080,解决这一办法有更改运行时的默认窗口这个方法可以看idea 修改SpringBoot项目启动端口这一方法我没试过,我用第二个方法将8080端口关闭
(9)单元测试
在进行单元测序的时候要添加相应的测试依赖启动项spring-boot-starter-test,这一代码我在上面已经全部给了包括热部署的代码,现在只需要编写单元测试类和测试方法,包括建立相应的包
代码为:
package com.wbl;
import com.wbl.controller.HelloController;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
/**
* @Author:lietu
* @Date:2022/1/821:18
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class choap1test {
@Autowired
private HelloController helloController;
@Test
public void helloTest(){
String hell = helloController.hello();
System.out.println(hell);
}
}
运行结果为:
(10)热部署新版的idea跟以前开启热部署的方法不同。先选择file——settings然后打开compiler面板设置
然后在settings里面选择advance settings
最后应用就行了,进行测试先启动项目
然后我们修改一下显示的内容为hello word
2.使用Spring Initializr方式创建
(1)新建一个项目
(2)选择Spring Initializr方式进行创建
(3)点击next后进入依赖选择
(4)通过这种方法创建的Spring Boot项目会将一些基本的框架建好,现在我们只需呀建立一个控制类就行了
记得控制类的包名要在启动类所属的包下
代码为:
package com.example.choap1.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author:lietu
* @Date:2022/1/821:45
*/
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello Spring Boot";
}
}
(5)运行结果如下:
(6)单元测试和热部署的方法和maven的一样,如果缺少那些依赖补上即可
三、总结
以上便是我今天所讲的内容了如有不足还请大家指出来,万分感谢!
如果对里面的原理有啥不懂的话可以先去学习Spring和java web这样有助于理解Spring Boot的工作原理。