在百度上怎么建网站,手工制作小钱包,网站的关键词和描述,微网站的价格本系列共涉及4个框架#xff1a;Sping,SpringBoot,Spring MVC,Mybatis。
博客涉及框架的重要知识点#xff0c;根据序号学习即可。
有什么不懂的都可以问我#xff0c;看到消息会回复的#xff0c;可能会不及时#xff0c;请见谅#xff01;#xff01; 1、配置文件作…本系列共涉及4个框架Sping,SpringBoot,Spring MVC,Mybatis。
博客涉及框架的重要知识点根据序号学习即可。
有什么不懂的都可以问我看到消息会回复的可能会不及时请见谅 1、配置文件作用
1.1 配置文件的重要性
计算机上有数以千计的配置文件其主要目的是为了解决硬编码【硬编码的意思就是将数据直接嵌入到程序或者其他可执行对象的源代码中简单来说就是“代码写死”】带来的问题把可能会发生改变的信息放在一个集中的地方当我们启动某个程序时应用程序从配置文件中读取数据并加载运行。 1.2 Spring Boot配置文件
1Spring Boot支持并定义了配置文件的格式也在另一个层面达到了规范其他框架集成到Spring Boot的目的
2很多项目或者框架的配置信息也放在配置文件中比如项目的启动端口、数据库的连接信息包含用户名和密码的设置、第三方系统的调用密钥等信息、用于发现和定位问题的普通日志和异常日志等 2、配置文件格式与优先级
2.1 Spring Boot配置文件格式
1application.properties
2application.yml
3application.yaml
yml为yaml的简写实际开发中出现频率最高但是它的格式非常严格一个空格也可能会导致出错。yaml和yml的使用方式一样的所以只讨论前两个就好了 2.2 配置文件的优先级
理论上讲.properties和.yml可以并存在一个项目当.properties和.yml并存时两个配置都会加载。如果配置文件有冲突则以.properties为主也就是.properties优先级更高 3、使用application.properties进行配置
3.1 基本语法
1properties配置文件是最早期的配置文件格式也是创建SpringBoot项目默认的配置文件
2properties是以键值对的形式配置的key和value之间用等号连接
3例子
ps#号后为注释 # 配置项目端口号
server.port9090# 配置数据库的连接信息
spring.datasource.urljdbc:mysql://127.0.0.1:3306/db?characterEncodingutf8useSSLfalse
spring.datasource.usernameroot
spring.datasource.passwordroot 3.2 读取配置文件
如果在项目中想要主动读取配置文件的内容可以使用Value注解来实现Value注解使用${ }的格式读取 可以在方法上添加该注解然后在方法中可以获取需要的配置文件的内容 3.3 properties使用缺点
很明显通过上面的例子可以看出来properties文件中会有很多重复的、冗余的信息。为了解决这个问题就可以使用yml配置文件的格式化了。 4、使用application.yml文件进行配置
4.1 基本语法
1yml是YAML(Yet Another Markup Language)的缩写翻译成中文就是“另一种标记语言”。
2yml的基础语法是以“Key: Value”的形式存在的。key和value之间使用英文冒号和空格的方式空格不可省略。这里就能感觉到yml文件的劣势就是格式要求非常严格一个简单的空格就会导致配置文件读取失败。 4.2 使用yml连接数据库
spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mybatisdb?characterEncodingutf8useSSLfalseusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver 4.3 yml配置不同的数据类型及null 4.3.1 yml配置读取 yml读取配置的方式和properties相同使用Value注解即可Value注解使用${ }的格式读取 4.3.2 value值加单双引号 字符串默认不用加上单引号或者双引号如果加英文的单双引号可以表示特殊的含义。 1单引号会转义特殊字符使其失去特殊功能始终是一个普通的字符串 2双引号不会转义字符串里面的特殊字符特殊字符会表示本身的含义
举例\n使用单引号的话就不表示换行了是一个普通的字符串而\n使用双引号括起来表示它本身的含义就是换行。
4.4 配置对象
在yml中配置 这个时候不能用Value来读取配置中的对象了此时要使用另一个注解ConfigurationProperties来读取 4.5 配置集合 4.6 配置Map 4.7 yml 优缺点
1优点
①可读性高写法简单易于理解
②支持更多的数据类型可以简单表达数组、对象、List、Map等数据形态
③支持更多的编程语言不局限于Java还可以在Python、Ruby、Golang等中使用
2缺点
①不适合写复杂的配置文件
②格式十分严格