基础配置

复制工程

  • 原则:
    1.保留工程基础结构
    2.抹掉原始工程痕迹
    做一套模板出来,以后直接在文件中复制,后在idea中导入即可

属性配置

修改服务器端口

之前访问需要将服务器的端口写道访问路径上:http://localhost:8080/books
那么现在可以直接使用8080端口访问,就不用再把端口名写在路径上了:http://localhost/books
如何配置呢?
修改配置,需要进到相应的配置文件;maven结构下的配置文件都是些在resources文件下的application.properties,这就是maven下的配置文件

boot中的配置文件就是application.properties;修改配置时,直接按照"key=value"值格式修改就行
产生的问题:
1.如果想写别的配置应该怎么写?
2.如果不使用tomcat服务器或不用web服务器,那这个配置还能不能用,这个配置方式是不是特定环境下的?

eg.修改banner

配置项与配置属性都可以在springboot官网的文档中找到;在官网中的LEARN
这些配置都和服务器有关,没有导入服务器相关的包,就无法配置;每一个技术对应相应的配置

配置格式:

yml是主流

优先级:propertice>yml>yaml
如果是相同的属性,他们就有优先级覆盖问题;如果他们没有相同属性,就全部保留

属性提示消失解决方案:
在yml与yaml中写配置无提示,是因为,提示这个功能是由idea提供的,idea将这个功能提供给其认为是配置文件的文件,在idea中并不认为yml与yaml是配置文件,于是将这两个文件设置为配置文件,步骤:
1.工程Structure
2.Facets中选中当前配置项目,点击上方绿叶图案
3.点击加号添加即可

当遇到无法添加配置文件的时候:1.将自定义的配置文件名放到spring.conf.name:中;2.构建以propertice为后缀的配置文件,然后再进行添加之前想要添加的配置文件

配置文件的书写格式:
这种格式的名称叫做YAML格式(YAML Ain't Markup Language),是一种数据序列化格式

  • 优点:
    • 容易阅读
    • 容易与脚本语言交互
    • 以数据为核心,重数据轻格式
  • YAML文件扩展名
    • yml(主流)
    • yaml

yaml格式要求

  • 大小写敏感
  • 属性层级关系使用多行描述,每行结尾使用冒号结束
  • 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
  • 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
  • “#”表示注释

单行

同一属性

对象

对象数组

核心原则:数据前面要加空格与冒号隔开

字面值表示方式:

数组表示方式

yaml数据读取

读数据的方式有很多,得先写一个程序能把这个数据都出来,然后打印出来
读取单一数据

读取多级数据

读取数组数据

读取对象数组

遇到数组用中括号就可以了

问题:

如果要修改其中一个,那么其他的都需要进行修改,非常麻烦

yaml文件中的变量引用

当写的数据需要相互引用该怎么办呢?如:

当baseDir需要修改时,那么tempDir也就需要修改;非常麻烦,所以利用变量引用

使用引号包裹之后,转义字符就会生效

对数据进行封装,读取yaml全部属性数据

为了解决属性过多,读取时需要定义多个变量的问题
@Autowired(自动装配)
private Environment 对象名(把所有的变量都装配到这个这个对象中)
Environment可以将所有的属性都加载
使用(读取)数据:


将所有的属性封装到Environment中,而后通过getProperty方法获取,即,env.getProperty()或者env[2].getProperty()形式

针对性封装

前面的封装方式,是将yml文件中定义的所有的数据都封装起来了
而我们现在要进行的是将我们指定的数据封装起来
如下:


这里是通过get/set函数获取私有数据的



修改访问路径:


#1.首先是创建一个类,用于封装下面的数据 类中的数据名要和下面的数据名对的上
#2.由spring帮我们去加载数据到对象当中 一定要告诉spring要加载的是哪部分信息
这就用上了@ConfigurationProperties(prefix = "datasource")//参数填对象名,prefix不写也可以

#3.使用时从spring中获取这些信息(通过get/set方法)
在创建类的时候也要注意

必须要让创建的这个类成为spring管控的类,利用关键字@Component

posted @ 2023-02-24 20:10  BattleTrumpet  阅读(53)  评论(0)    收藏  举报