我们学习了一些Spring简单的相关知识,接下来开启新的章节:Spring-Boot,关于啥是Spring-Boot呢?Spring-Boot其实就是Spring的脚手架,是为了更加方便使用Spring快速开发和使用的脚手架~~
那我们在学习Spring-Boot简单使用的之前,我们先学习一下Spring-Boot的优点:
1.快速的集成框架:快速的添加外部jar包
2.内置Web框架:可以直接运行(是有main启动类的)
3.快速部署:不依赖任何Web容器
4.抛弃传统的xml文件
5.支持更多监控指标,可以更加方便的直观观察项目的运行情况
1.Spring Boot 创建
前提是你是专业版或者是2021版本的idea装上了这个 插件,否则以下内容就属于说是白忙活了 - . -.
1.1 打开New project
1.2 设置信息
1.3 设置依赖
我们前面知道了Spring boot 的一个特点就是不需要麻烦的xml进行依赖注入,在创建项目的时候就体现出来了:
1.4 设置名称路径
点击finish之后,等待依赖注入成功就ok了 但是还是没有真正的完成:
还需要最后一步
2. Spring Boot 目录说明
3.Spring Boot 配置文件
SpringBoot的配置文件作用:
整个项⽬中所有重要的数据都是在配置⽂件中配置的,⽐如:
数据库的连接信息(包含⽤户名和密码的设置);
项⽬的启动端⼝;
第三⽅系统的调⽤秘钥等信息;
⽤于发现和定位问题的普通⽇志和异常⽇志等。
想象⼀下如果没有配置信息,那么 Spring Boot 项⽬就不能连接和操作数据库,甚⾄是不能保存可以⽤于排查问题的关键⽇志,所以配置⽂件的作⽤是⾮常重要的。
在SpringBoot中有俩个方式配置文件格式,一种是.properties 一种是.yml
为什么要有俩种格式呢?简单来说这个yml格式是时代的产物,yml是.properties的船新版本~~
特殊说明:
1.理论上来讲,这俩种格式可以同时存在,但是在项目进行的时候,这个格式基本上都是规定某一种。
2.如果相关属性在俩种格式都出现的话,最终形式以.properties为主。
3.1 .properties配置文件格式
这种以key=value的形式就是 .properties 的配置文件格式。
在我们写配置文件的时候,需要知道的是 配置文件分为俩部分:
系统配置项(server.port)和自定义配置项(key是用户自定义的)
既然有自定义的话,那就是不是说明你可能要取出配置项呢?
让我们来看:
3.2 读取配置文件
关于读取配置文件的操作的话,就要用到注解 @Value("${key}")这样就可以获取到配置文件中key的value值了
3.3 优缺点分析
优点:
1.优先级最高,如果有重复的元素以它为准
2.系统默认的配置文件(官方认定)
3.格式简单,不容易出错(初学者建议这样的格式写)
缺点:
写法比较冗余
3.4 .yml配置文件格式
格式是 key: value (要特别注意的是 :后面有一个空格)
下面演示用yml格式获取一个集合并展示到页面中
当然格式还可以行内写:
student: {id: 1,name: 张三,age: 18}
这样方式写的话,就不能用value注解获取了(但是我上面写的还是用了其他注解配合value注解使用的,这里的意思是 单纯的用value注解没办法用了,但是上面的代码可以直接用value注解进行读取数据)
代码如下
@ConfigurationProperties("student")
@Component
@Setter
@Getter
@ToString
public class StudentComponent {
private int id;
private int age;
private String name;
}
调用类
@Controller
@ResponseBody//非静态页面
public class TestController {
// @Value("${name}")
// private String name;
@Autowired
private StudentComponent studentComponent;
@RequestMapping("/sayhi")
public String sayHi() {
return studentComponent.toString();
}
}
结果:
yml vs properties
1.properties 为早期并且默认的配置⽂件格式,但其配置存在⼀定的冗余数据,使⽤ yml 可以很好的解决数据冗余的问题。
2.yml 通⽤性更好,⽀持更多语⾔,如 Java、Go、Python 等,如果是云服务器开发,可以使⽤⼀份配置⽂件作为 Java 和 Go 的共同配置⽂件。
3.yml ⽀持更多的数据类型4.格式不一样
设置不同环境下的配置文件:
1、创建不同环境的配置⽂件:
application-dev.yml
application-prod.yml
2、在 application.yml 中设置运⾏环境
Spring Boot 读取配置⽂件的 N 种⽅法
更多系统配置项:
设置不同环境的配置⽂件
ring.profiles.active=dev
参考资料:
Spring Boot 读取配置⽂件的 N 种⽅法
https://juejin.cn/post/7132641888166739982
更多系统配置项
https://docs.spring.io/spring-boot/docs/current/reference/html/application-propert