关于SpringBoot 中配置的那些事
简单了解
大家都知道SpringBoot 中,由于自动帮我们做了很多配置,这极大的简化的我们的开发,但是在开发过程中可能他默认的配置并不是我们想要的,比如SringBoot中集成了Tomcat服务器,他的默认端口是8080,但是电脑上的8080端口被占用了,这是就需要改变一下我们项目的端口,那么又该怎末改变呢
Application.yml/Application.properties的使用
在SpringBoot Web项目中默认提供了配置文件Application.properties这个配置文件,我们只需要在该文件中将server.port=8081
修改自己成自己电脑未占用的端口号即可
server.port: 8081
关于Application.yml 文件在项目中其实是没有,但是我们可以通过将Application.properties的后缀名修该成.yml
但是如果修改了后缀为.yml后,上面的配置就不能这样写了需要做相应的修改
server:
port: 8081 #注意在yml中空格的校验是十分严格的,一定要注意不然会报错
关于这两种文件的区别可以自行查找资料
肯定在说这样的配置我也会这有什么需要专门来说的吗?
那么我想问,假如你想配置一个关于Redis的配置,但是你却不知道或者说不了解SpringBoot的配置。那么这时候又应该怎末办呢?
SpringBoot的自动配置
其实上诉的问题我们可以通过查看官方文档,或者问其他人,但是那终究不是自己的,不是吗?
官方文档是一种方法,但是查阅起来相对麻烦,那么有没有一种方便又快捷的方法呢?答案肯定是有的,那就是查看源码
比如说我要配置thymeleaf
模板想关的配置该着怎末做呢?
1.看我只需要打出相关的单词他就会自动提示所有的配置,但是我不知道这些配置是干嘛的我又该怎末做呢?
image-20200719134307157.png
接下来我们只需要点一下我们需要配置的
spring:
thymeleaf:
cache:
比如我在这里配置的是thymeleaf
的缓存,所以我只需要点一下cache
他,idea就会打开一个名为ThymeleafProperties
的文件,下载源码,看看我们看到了什么是不是跟我们在配置文件中看到的所有内容都以找到,不知道他是干什么的就看一下注释,是不是很块很方便
在这里看到了cache
的默认值是ture 就证明thymeleaf
中他的缓存时默认开启的,不想开启的就是改为false即可
看到这里可能还是有些不是特别明白这样怎末能快速的配置配置文件呢?
那么我们在看一下其他的配置文件配置以配置数据库为例子
spring:
thymeleaf:
cache: false
datasource:
url:
我们需要配置数据库的url路径,点开url
,发现打开了一个名为DataSourceProperties
的文件,下载源码,没错又是我们看到的配置,有没有发现什么规律?没错,就是你需要配置什么他的源文件的类就是这个名字,所以在我们不知道怎么配置时只要搜索一下xxxProperties
的文件就可以找到我们想要的内容了
在xxxProperties
配置文件中我们可以发现@ConfigurationProperties
这样一个注解,他的prefix
属性的值就是我们在application.yml
文件中的前缀
还有就是我们在配置一些文件时在提示中没有找到应该怎末办呢?
比如eureka
我们发现在application.yml中没有提示,前提是我们已经把eureka的pom文件引入了,这个时候我们就需要另一种方法了,在idea中连续按两下shift会弹出搜索框,我们只需要输入EurekaClientAutoConfiguration
找到EurekaClientConfigBean
这个方法打开就可以找到相应的配置信息,是不是很简单
接下来呢想必大家都明白了我们需要什么配置不知道就搜索xxxAutoConfiguration
然后找到对应的configbean进行查看即可
网友评论