框架搭建
1.IDE新建项目,选择maven上面的Spring Initializr,点next,java项目选8,discription(描述),可以自己发挥,next,勾选web。
2.将五个文件删掉, ....Application是程序主入口,不能删也不能改。之后,建包都是在与这个主入口同级下建包。
3.建包下面可以写class文件了,先@RestController,在class之前。class之后,@RequestMapping("/hello") //这是接口。
列如:
@RestController
public class HelloController {
//接口为:http://localhost:8080/hello
@RequestMapping("/hello")
public String hello()
{
return "hello,world!";
}
}
修改端口号
到springboot配置文件下(resources---》application.properties)加上:
server.port=7442 //从8080改到7442了。
修改log
可以找自己喜欢的图案复制下来,然后在resources下面建一个文件file,命名为banner.txt ,然后将复制的图案粘贴在这里就可以了。重启即可。
yaml配置文件
xml配置文件不够主流了。
Springboot使用一个全局的配置文件,配置文件名称是固定的
- application.properties
语法结构:key=value - application.yml
语法结构:key:空格value
配置文件的作用:修改springboot自动配置的默认值,因为springboot在底层都给我们自动配置好了。
运用:删掉application.properties文件,在原来的位置新建文件,名字依然是application,后缀是.yml即可。(官方更愿意这种方式)
name: qingjiang #普通的key=value
# 对象
student:
name:qingjiang
age:3
(注意对空格十分严格 ,如果age多空了一个格,就是三个对象了,不是student.name和student.age的写法了)
# 行内写法
student:{name: qingjiang,age: 3}
#数组
pets:
-cat
-dog
-pig
pets: [cat,dog,pig]
properties只能保存键值对,做不到上面的。
易错点
在同级扫描的那个下面建的包,里面的class,搞好之后,需要先无参构造,在有参,在setget。大兄弟错了两次了,还没有加toString方法,否则输出的将会是路径,而非对象。
将yaml文件,和普通需要赋值的文件用他关联。
@ConfigurationProperties(prefix = "person")
放在普通文件当中。双引号当中的对象,必须与yaml文件里面的一致。这里就是绑定的意思。
如果我们在某个业务中,只需要获取配置文件中的某个值,可以使用一下@Value
如果说,我们需要专门编写了一个javaBean来和配置文件进行映射,就直接使用@configurationProperties不要犹豫。
使用yaml,可以实现里面多环境转换。
用---分开。列如
server:
port: 8081
---
server:
port:8082
spring:
profiles: dev
---
server:
port:8083
spring:
profiles: test
默认走8081,如果要走第二个,需要在8081下面加上
Profiles:
active: dev
1.一系列过程做好了,包括删除文件。
2.先在....application同级建包,然后新建class文件。
3.写上有什么属性,先无参构造,在有参构造,然后在getset方法,最后在tosring方法。
4.删掉resources下面的application.properties核心配置文件,在该位置新建application.yaml文件。写名字(上面创建的class的方法名),要一致。
基础篇里面有,注意分号后面的空格。
5.绑定:@ConfigurationProperties(prefix = "yaml文件里面的名字"),这是写在普通class里面的。还有一个注解@Component
6.在测试类里面进行测试。class之外有@SpringBootTest注解
@SpringBootTest
class Demo6ApplicationTests {
@Autowired
private Person person;
@Test
void contextLoads() {
System.out.println(person);
}
}
Swagger
现在前后端分离:Vue+Springboot
在项目中使用swagger需要springbox
在pom.xml配置文件里面<dependencies></dependencies>之间添加下面两个。即可
1.swagger2
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency>
2.ui
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency>
在能扫描的同级建一个包(config),建一个类(SwaggerConfig)
配置到springboot里面去,需要配置swagger的Docket的bean实例。