SpringBoot入门
学习此课程需要有javaweb编程基础、maven或gradle基础、spring基础;如果没有请学完再开始本课程,否则会有很多坑。springboot的版本有1.x、2.x现在企业互联网项目有广泛应用,无论哪个版本,大家还需要多看看文档,文档比线上的一些博客要专业,这里的内容也是摘自spring官方网站,照葫芦画瓢;写的不好,各位看官别喷,有不足的地方请指正。
本文采用的是截止今天2020-07-04日官方推荐的2.2.2.RELEASE,高低版本会导致部分效果和本文步骤、代码、效果有差异,请务必保持一致,或者自行查看官方文档,这里面有各种版本;点击Reference Doc可以查看对应的详细步骤
1. 官方网站
2、简介
spring boot简化web项目(基于spring)开发,约定大于配置,去繁从简,适合开发产品级别应用
3、历史问题及解决方案
J2EE笨重的开发、繁重的配置、地下的开发效率、复杂的部署流程、第三方技术集成难度大
使用spring全家桶时代,
Spring Boot J2EE一站式方案
Spring Cloud 分布式整体解决方案
4、优点
- 快速创建独立运行的Spring项目以及与主流框架集成
- 使用嵌入式的Servlet容器,应用无需打成war包
- starters自动依赖与版本控制
- 大量的自动配置,简化开发,也可修改默认值
- 无需配置xml,开箱即用
- 准生产环境运行时应用监控
- 与云计算天然集成
5、缺点
需要对spring有深入的理解,否则很难精通spring boot
6、微服务架构风格
martin fowler微服务提出者
一个应用应该是一组小型服务;可以通过http协议进行服务之间的通信
7、Spring Boot HelloWorld
使用springboot开发一个web项目,并通过浏览器访问在浏览器中显示“HelloWorld Spring Boot!”
- 使用idea新建一个maven项目
选择maven,点击next
- 填写包名和项目名点击下一步
- 打开spring官网,点击菜单project->spring boot打开spring boot的帮助文档
打开之后看到右侧的overview下面有Getting Started;下面是spring boot创建项目的其中两种方式,选择第二个More general — try Building an Application with Spring Boot选项
往下翻找到如图所示内容
- 打开刚才创建的项目,开始从上图的pom文件中复制内容,复制后我们自己的项目pom文件如下
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qs</groupId>
<artifactId>spring-boot-helloworld</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 复制过来的:springboot版本为2.2.2.RELEASE-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- 约束jdk的编译版本为1.8-->
<properties>
<java.version>1.8</java.version>
</properties>
<!-- 复制过来的:项目需要导入的依赖-->
<dependencies>
<!-- springmvc相关jar包全部导入-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--单元测试相关jar包导入-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<!-- 排除掉其中的一个jar包-->
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- 复制过来的:通过此插件管理项目的生命周期-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
- 在项目源码包创建一个类IndexController.java,并编写如下代码
- 编写程序入口
- 注意两个类是放在同一级目录中的,这里先说明一下,Application这个类是程序入口,它必须放置在其他类的上一级目录中;否则会出现类加载失败的问题。
- 注意两个类是放在同一级目录中的,这里先说明一下,Application这个类是程序入口,它必须放置在其他类的上一级目录中;否则会出现类加载失败的问题。
- 启动web项目
点击上图中第八行代码左侧的绿色三角形,如下图
@SpringBootApplication注解写在类上面,这个类会被spring扫描并解析,这个类就是入口类,还需要定义一个main函数,按官方的写法写
- 观察console控制台输出如下内容表示程序启动OK,从第三行或倒数第二行可以看到8080这个数字,这个表示程序访问的端口。
- 打开浏览器,地址栏输入http://localhost:8080/index
入门程序到此结束!