springboot简介与第一个程序
1.SpringBoot简介
1.1 回顾:什么是spring
Spring是一个开源框架,2003年兴起的一个轻量级的java开发框架,作者:Rod Johnson
Spring是为了解决企业级应用开发的复杂性而创建的,简化开发
1.2 Spring是如何简化java开发的
为了降低java开发的复杂性,Spring采用了以下4中关键策略
- 基于POJO的轻量级和最小侵入性编程,所有东西都是bean
- 通过IOC,依赖注入(DI)和面向接口实现松耦合
- 基于切面(AOP)和惯性进行声明式编程
- 通过切面和模板减少样式代码,RedisTemplate,xxxTemplate
1.3 什么是SpringBoot
开发一个web应用,从最开始接触Servlet结合Tomcat,跑出HelloWorld程序,需要经历特别多的步骤
后来使用框架Struts,在后来SpringMVC,到现在的SpringBoot,过一两年又会有其他的Web框架出现
什么是SpringBoot?就是一个javaweb的开发框架,和SpringMVC类似,对比其他的javaweb框架的好处,就是简化开发,约定大于配置
.....待补充
2.HelloWorld
2.1 准备工作
快速创建一个SpringBoot应用,并实现一个简单的Http请求处理。
环境准备
- java jdk 1.8
- Manven 3.6.1
- SpringBoot 2.x
开发工具
- IDEA
2.2 创建项目说明
创建方式一:
待补充
创建方式二:使用IDEA直接创建项目
- 创建一个新项目
-
选择spring initalizr ,可以看到默认就是去官网的快速构建工具那里实现
-
填写项目信息
-
选择初始化的组件(初学勾选 Web 即可)
-
填写项目路径
-
等待项目构建成功
项目结构分析
通过上面的步骤创建完基础项目后,会自动生成一下文件
- 程序的主启动类 Application.java
- 一个application.properties配置文件
- 一个测试类
- 一个pom.xml
pom.xml分析
pom.xml,SpringBoot项目的依赖
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 <parent> //父依赖 6 <groupId>org.springframework.boot</groupId> 7 <artifactId>spring-boot-starter-parent</artifactId> 8 <version>2.3.3.RELEASE</version> 9 <relativePath/> <!-- lookup parent from repository --> 10 </parent> 11 <groupId>com.dz</groupId> 12 <artifactId>springbootstudy-01</artifactId> 13 <version>0.0.1-SNAPSHOT</version> 14 <name>springbootstudy-01</name> 15 <description>Demo project for Spring Boot</description> 16 17 <properties> 18 <java.version>1.8</java.version> 19 </properties> 20 21 <dependencies> 22 <dependency> //web场景启动器 23 <groupId>org.springframework.boot</groupId> 24 <artifactId>spring-boot-starter-web</artifactId> 25 </dependency> 26 27 <dependency> //springboot单元测试 28 <groupId>org.springframework.boot</groupId> 29 <artifactId>spring-boot-starter-test</artifactId> 30 <scope>test</scope> 31 <exclusions> //剔除依赖 32 <exclusion> 33 <groupId>org.junit.vintage</groupId> 34 <artifactId>junit-vintage-engine</artifactId> 35 </exclusion> 36 </exclusions> 37 </dependency> 38 </dependencies> 39 40 <build> 41 <plugins> 42 <plugin> //打包插件 43 <groupId>org.springframework.boot</groupId> 44 <artifactId>spring-boot-maven-plugin</artifactId> 45 </plugin> 46 </plugins> 47 </build> 48 49 </project>
编写HTTP接口
- 在主程序(Application.java)的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到
- 在包中新建一个HelloController类
1 @RestController 2 public class HelloController { 3 @RequestMapping("/hello") 4 public String hello(){ 5 return "HelloWorld"; 6 } 7 }
3.编写完成后,启动主程序项目,浏览器发起请求,看页面返回,控制台输入Tomcat访问的端口
简单几步,就完成了一个web接口的开发,springboot十分简单,所以常用springboot来建立我们的微服务项目
将项目打包jar包,点击maven的package
打包成功会在target目录下生成一个jar包
打成jar包后,就可以在热河地方运行了。
进入cmd,输入命令:java -jar xxx.jar
如果遇到错误,可以配置打包时,跳过项目运行测试用例
1 <!--在工作中,很多情况下我们打包是不想执行测试用例的 2 可能是测试用例不完事,或是测试用例会影响数据库数 3 据 跳过测试用例执 --> 4 <plugin> 5 <groupId>org.apache.maven.plugins</groupId> 6 <artifactId>maven-surefire-plugin</artifactId> 7 <configuration> 8 <!--跳过项目运行测试用例--> 9 <skipTests>true</skipTests> 10 </configuration> 11 </plugin>