- Spring Boot简单介绍
- 一、使用Maven方式创建项目
- 1. 创建Maven项目
- 2. 添加SpringBoot相关依赖
- 2.1引申:IntelliJ IDEA2020不能自动导入依赖
- 3. 编写主程序启动类
- 4. 创建用于Web访问的Controller
- 5. 运行项目
- 总结
- 二、使用Spring Initializr方式构建Spring项目(推荐)
- 1. 创建Spring Boot项目
- 1.1引申:解决Intellij IDEA新建Springboot项目没有Spring Initializr选项
- 2. 创建用于web访问的Controller
- 3. 运行项目
- 总结
Spring Boot简单介绍
- spring框架是轻量级的,但它的配置却是重量级的
- 所以就在原有spring框架的基础上,通过注解的方式进一步简化spring框架的使用,并基于spring框架开发了全新的spring boot框架,需要说明的是:spring boot不是替代spring的解决方案(因为它本身不具备spring的核心特性和扩展功能,只是用于快速开发新一代基于spring框架的应用)
- spring Boot是Spring家族的一个子项目,设计初衷是为了简化Spring的配置
- springboot集成了大量常用的第三方配置,使用spring boot开发程序时,几乎是开箱即用(只需很少配置就能完成相应功能)
- 优点:①快速构建独立的spring应用 ②通过依赖启动器简化构建时的配置 ③极少的代码生成和xml配置:spring boot内部实现了与spring、以及其他常用第三方库的整合连接,并提供了默认最优化的整合配置,所以基本上不需要额外的配置;在需要自定义配置时,使用java config (java配置类)替换传统的xml配置方式,更便于查看和管理
一、使用Maven方式创建项目 1. 创建Maven项目
选Maven项目以及JDK
编辑项目名+GroupId,剩下都是默认给好的
项目创建完成后,会默认打开创建Maven项目生成的pom.xml依赖文件
① 构建项目时,只需要添加相应的场景依赖(依赖启动器starter),SpringBoot就会根据添加的场景依赖自动进行配置(自动拉取相关JAR包)
② 通过依赖启动器简化构建配置。在构建过程中无需准备JAR包,只需根据开发所需的场景 来选择引入对应的依赖启动器(starter),在引入的依赖启动器内部已经包含了对应开发场景所需的依赖,并自动下载和拉取相关的JAR包。
在pom.xml中添加 构建SpringBoot项目 和 Web场景开发对应的依赖
① spring-boot-starter-paren:项目的统一父项目依赖管理。为什么叫统一父项目依赖管理,因为它就像所有依赖的父亲,它对常用框架的依赖文件进行版本统一管理。
- 例如spring,tomcat等,都有和该spring boot相匹配的版本,所以pom.xml引入依赖文件不需要标注它们的版本号,但是如果pom.xml中的依赖文件不是spring-boot-starter-paren管理的,就需要用
指定它的版本号 ②spring-boot-starter-web:提供web开发场景所需的所有依赖,并对这些依赖进行统一管理(但是它们的版本号仍归spring-boot-starter-paren管理)
2.1引申:IntelliJ IDEA2020不能自动导入依赖4.0.0 com.wpz chapter01_maven_manual 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-parent 2.1.3.RELEASE org.springframework.boot spring-boot-starter-web
- Idea2020版本不能自动导入依赖了,使用ctrl+shift+o或点击如下图标 导入依赖(导入时间较长需等待)
- 可以配置 Maven 镜像(拉取依赖时速度更快)
打开 maven 解压目录,选择 config/settings.xml,找到,将下述代码复制粘贴。
3. 编写主程序启动类alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central
java目录就是装java源程序的
编写主程序启动类
① @SpringBootApplication:标记为主程序启动类,能扫描Spring组件并自动配置spring boot
- 这是一个组合注解,其中@AutoConfigurationPackage:获取项目主程序启动类所在的根目录,从而指定后续组件扫描器要扫描的包位置,所以项目主程序类要定义在最外层的根目录位置(也就是子包和类要在主程序启动类所在的包中),这样才能包中定义的类能被组件扫描器扫描
② SpringApplication.run():springboot执行流程是从项目启动入口=>@SpringBootApllication标注的类的main()方法进入,然后执行main()中的SpringApplication.run(),该方法内部执行两个操作,分别是SpringApplication实例初始化和调用run()启动项目
package com.wpz;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication//标记该类为主程序启动类
public class ManualChapter01Application {
public static void main(String[] args) {
//启动主程序类:SpringApplication.run
//- 参数为主程序类的编译文件(类名.class) 和 args数组
SpringApplication.run(ManualChapter01Application.class, args);
}
}
4. 创建用于Web访问的Controller
com.wpz包下创建controller包,该包中新建HelloController类
编写Controller类
- HelloController类是请求处理控制类,该类中包括请求处理的方法
- @RestController组合注解:@Controller+@ResponseBody=>
该类当作控制层组件添加到Spring容器中 + 该类的方法无法返回JSP页面,会返回JSON字符串- @GetMapping("/hello")组合注解:@RequestMapping(method=RequestMethod.GET)=>
设置方法的访问路径 + 访问方式为Get
package com.wpz.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController//请求处理控制类
public class HelloController {
@GetMapping("/hello")//请求处理的方法
public String hello() {
return "wpz say hello Spring Boot";
}
}
5. 运行项目
点击运行主程序启动类
启动成功后,在控制台会发现SpringBoot项目默认启动的端口号为:8080
在浏览器中输入http://localhost:8080/hello
页面中显示出:请求处理方法中输出的语句
① 第一步:在pom.xml中添加该项目开发场景所需的依赖启动器。springBoot会根据依赖启动器 自动导入需要的JAR包
② 第二步:编写主程序启动类。需要在该类上标注@SpringBootApplication来告诉SpringBoot,这个类就是主程序启动类,接着需要在main()方法中使用SpringApplication.run()启动主程序类,如果不启动主程序类而直接运行,那么springBoot不会继续扫描com.wpz包下的Controller类,也就不会执行请求处理方法了
③ 第三步:编写Controller类。用@Controller或者@RestController标注该类为控制层的类,@GetMapping标注请求处理方法的访问路径以及访问的方式
④ 第四步:运行。运行主程序类,然后在浏览器中输入访问路径。
二、使用Spring Initializr方式构建Spring项目(推荐)
1. 创建Spring Boot项目Spring Initializr 是一个Web应用,它提供了一个基本的项目结构,帮助我们快速构建一个基础的Spring Boot项目
创建新项目:项目类型选Spring Initializr
项目配置信息
package中 根据Group和Artifact定义了 项目创建的包名
项目依赖选择
项目名和路径(默认的)
默认生成的项目目录结构
① File–>Settings–>plugin,搜索Spring Assistant,点击install
②重启Idea再创建项目就有了
在主程序启动类所在的包下创建controller包,包下创建HelloController类
编写HelloController类(和第一种方法中的相同)
package com.wpz.chapter01.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController//请求处理控制类
public class HelloController {
@GetMapping("/hello")//请求处理的方法
public String hello() {
return "wpz say hello Spring Boot by Spring Initializr";
}
}
3. 运行项目
运行成功后,在浏览器中访问http://localhost:8080/hello
① 第一步:使用Spring Initializr创建Spring Boot项目,并完成项目配置、项目依赖、项目名称和路径的选择
② 第二步:写Controller类(和上一种方法一致)
③ 第三步:运行
说明: 使用这种方式构建项目,会自动生成一个项目结构框架,并且主程序启动类和pom.xml自动写好了



