contents
概述
本文档使用Spring Boot 2.7.12版本。
创建Spring Boot项目
创建maven模块
在pom.xml文件中的project标签中添加
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.12</version>
</parent>
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
修改启动类
package org.company;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main( String[] args ) {
SpringApplication.run(App.class, args);
}
}
创建controller
package org.company.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String testHello(){
return "hello";
}
}
测试成功即可。
简化部署:在pom.xml文件中的project标签中添加。
这个插件可以将应用打包成一个可执行的jar包。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
测试简化部署:运行Spring Boot项目的启动类,把生成的jar包拷贝至电脑的任意目录中,在CMD窗口中利用java -jar jar包名称 启动。然后在浏览器中访问。
把项目打成jar包,直接在目标服务器执行即可。
@Controller和@ResponseBody可以合并成@RestController
Spring Boot项目结构
创建Spring Initializr项目
创建controller
package com.company.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("hello")
public String testHello(){
return "hi,宋江";
}
}
项目结构:
配置文件
Spring Boot的全局配置文件,配置文件名是固定的。
application.properties或者application.yml
yml
后缀名为yml或者yaml都可以。
语法
- key: value key与value之间有空格。
- 大小写敏感。
- 使用缩进表示层级关系。
- 缩进不允许使用tab,只允许空格。
- 缩进的空格数不重要,只要相同层级的元素左对齐即可。
- '#'表示注释。
- 字符串无需加引号,如果要加,''与""分别表示字符串内容会被转义、不转义。
值的写法
字面量:普通的值(数字、字符串、布尔)
k: v:字面直接来写。
字符串默认不用加上单引号或者双引号。
“”:双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思。
- name: “zhangsan \n lisi” 输出:zhangsan 换行 lisi
‘’:单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据。
- name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi
对象、Map(属性和值)(键值对)
k: v:在下一行来写对象的属性和值的关系;注意缩进。
对象还是k: v的方式。
friends:
lastName: zhangsan
age: 18
行内写法:
friends: {lastName: zhangsan,age: 18}
数组(List、Set)
用- 值表示数组中的一个元素。
pets:
- cat
- dog
- pig
行内写法:
pets: [cat,dog,pig]
配置文件值注入
配置文件:
person:
lastName: hello
age: 18
boss: false
birth: 2017/12/12
maps: {k1: v1,k2: 12}
lists:
- lisi
- zhaoliu
dog:
name: 小狗
age: 12