运行SpringBoot
在main函数中使用SpringApplication.run(DemoApplication.class, args);
来启动SpringBoot,其中DemoaApplication.class是 SpringApplication所在的main方法存在的类,也可以引用别的类,但是一般情况下是使用本类
在其中也需要在main方法类上添加注解@SpringBootApplication
@SpringBootApplication//被注释的类就是引导类,被当做SpringApplication.run的参数
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Controller管理类
首先需要在该中类型上添加注解@Controller
每个方法上可以通过添加@RequesMapping("xxx")
或者@RequesBody
来响应请求
还可以使用多种映射注解:
@PostMapping
@GetMapping
@PutMapping
@DeleteMapping
这分别是数据库中常使用的四种处理方式,增加删除和修改的对应映射,Post和Get是两个数据提交的方式,Put是作用在修改的功能上,可以通过如下设置来改变一个form表单中的提交方式
<input type="hidden" name="_method" value="put">
其中_method是SpringBoot中所写好的一个类可以表单中的提交方式进行改变,在其value属性中的数值,就是提交方式的定义
yml配置格式
yml格式是一中可以被SpringBoot所识别到的配置文本的格式
//配置普通数据
name: zhenghao
//对象数据的配置
person:
name: zhangsan
age: 18
adder: beijing
//行内对象配置
person:{name: zhangsan,age: 18,adder: beijing}
//Map配置
map:
key1: value1
key2: value2
//配置集合或者数组
city:
- beijing
- tianjin
//行内
city: [beijing,tianjin]
//对象
student:
- name: tom
age: 1
- name: lucy
age: 17
//行内写法
student: [{name: tom,age: 18},{name: lucy,age: 17}]
对象数据的配置是要严格的同意缩进格式,只有这样才能成功识别
yml数据的读取
在定义类中的变量的时候使用注解 @Value
@Value("${name}")
private String name;
这样就可以将yml中的基本数据name赋值给类中的name了
@Value("${person.adder}")
private String adder;
将yml中person类中的adder赋值给类中的adder
@ConfigurationProperties(prefix="person")
Class person{
private String name;
private String adder;
private int age;
//各个属性的set和get方法
}
通过注解@ConfigurationProperties
来为类中的属性自动填充数据
SpringBoot部署碰到的问题
properties配置文件乱码问题,设置->File Encodings->UTF-8
Profile
在写主配置application.properties或者yml时,使用application-{profile}.properties/yml就可以建立一个测试环境
激活方法:
- 在默认配置中加上:spring.profiles.active={profile}就激活这个{profile}
- yml多文档块
---
通过spirng:为每个文档块加入标示环境,在第一个文档块使用
Spring:
profiles:
active:{profile}
- 命令行
--spring.profiles.active={profile}
- 虚拟机参数:
-Dspring.profiles.active={profile}
配置文件加载位置
- file:./config/
- file:./
- classpath:/config/
- classpath:/
排列从高到底
互补配置,高优先的配置中的内容有覆盖低优先级的配置内容
Spring与web开发
静态资源文件夹
- “classpath:/META-INF/resources”
- “classpath:/resources/”
- “classpath:/static/”
- “classpath:/public/”
- "/"当前项目根路径
index.html在导入jquery后设置为欢迎页
favicon.ico自动设置为页面的图标