快速入门
方式一(常用): 基于Maven项目手动创建
- 1.创建Maven项目
- 2.继承父工程 spring-boot-starter-parent
代码示例<!--springboot工程需要继承的父工程--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.0</version> </parent> <dependencies> <!--web开发的起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
- 3.定义Controller
示例代码package com.itheima.controller; @RestController @RequestMapping("/books") public class BookController { @GetMapping("/{id}") public String getById(@PathVariable Integer id) { System.out.println("id ==> " + id); return "hello , spring boot! "; } }
- 4.编写引导类
示例代码package com.itheima; /** - 引导类。 SpringBoot项目的入口 */ @SpringBootApplication //可以修改默认扫描包:等同于SpringMVCConfig中的@ComponentScan("com.itheima") //@SpringBootApplication(scanBasePackages = "com.itheima") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
- 优点:不需要联网下载大量东西,版本可控
方式二
- 基于官网创建项目
- https://start.spring.io/
- 优点是方便,启动类测试类都创建好了,缺点是联网下载不稳定,有时快有时慢,版本无法控制
项目打包
-
对SpringBoot项目打包(执行Maven构建指令package)
-
执行启动指令
java -jar springboot_01_quickstart.jar # 项目的名称根据实际情况修改
注意事项
- jar支持命令行启动需要依赖maven插件支持,请确认打包时是否具有SpringBoot对应的maven插件。
- 插件坐标
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
- 插件坐标
注意事项
如果缺少该坐标,会报找不到资源清单的错,生成的jar包会特别小
该Maven插件的作用是
- 把项目需要的jar包打包进去
- 设置资源启动的入口
快速启动方式
- 环境准备:需要JDK
- 执行指令
java -jar springboot.jar
切换web服务器
pom文件中 排除 tomcat 依赖
pom 文件中 添加可选依赖 jetty
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--web起步依赖环境中,排除Tomcat起步依赖-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--添加Jetty起步依赖,版本由SpringBoot的starter控制-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
</dependencies>
配置文件
修改服务端口
-
方法一
#添加application.properties配置文件 service.port=80
-
方法二
- 使用application.yml文件
- service: port:80
注意
- yml, yaml相同
- 开启输入提示操作
yml书写格式
- 大小写敏感
- 属性层级关系使用多行描述,每行结尾使用冒号结束
- 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
- 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
配置文件数据的读取
- @Value读取
- //使用@Value读取单一属性数据
@Value("${lesson}") private String lesson;
- //使用@Value读取单一属性数据
- 封装全部数据到Environment对象
- //使用Environment封装全配置数据
@Autowired private Environment environment;
- //使用Environment封装全配置数据
- 封装成自定义对象
- //封装yaml对象格式数据必须先声明当前实体类受Spring管控
@Component //使用@ConfigurationProperties注解定义当前实体类读取配置属性信息,通过prefix属性设置读取哪个数据 @ConfigurationProperties(prefix = "enterprise") public class Enterprise { private String name; private Integer age; private String tel; private String[] subject; //自行添加getter、setter、toString()等方法 }
- //封装yaml对象格式数据必须先声明当前实体类受Spring管控
注意
自定义对象封装数据警告解决方案
<!--pom添加依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
多环境配置
properties配置方式
- 文件名不能修改
- application.properties
- 内容
- server.port=80
- 注意
- 一个测试环境一个配置文件
- 优先级别要比 yml 的高
yml配置
命令行启动
- 先clean
- 字符编码改utf-8
- 无关的配置文件找个地方放起来,避免干扰
SpringBoot读取Mean中pom中的参数
Springboot中
pom文件的Maven配置中
读取:用${变量名}获取
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>utf-8</encoding>
<useDefaultDelimiters>true</useDefaultDelimiters>
</configuration>
</plugin>
</plugins>
</build>