关于“详解Spring Boot加载properties和yml配置文件”的攻略,我将分为以下几个部分进行详细讲解:
- Spring Boot的默认配置文件名与位置
- properties文件的加载方式
- yml文件的加载方式
- 示例1:properties文件和yml文件混合使用
- 示例2:指定profile加载不同的配置文件
接下来我将一一进行展开说明。
1. Spring Boot的默认配置文件名和位置
Spring Boot可以通过自动配置机制来加载应用程序的默认配置信息。其中,Spring Boot默认会加载如下两个文件:
- application.properties
- application.yml
这两个文件的位置需要放在以下几个位置去寻找:
- classpath:/config/
- classpath:/
- file:./config/
- file:./
其中以“classpath”开头的路径表示在classpath中寻找,以“file”开头的路径表示在当前文件系统中寻找。
如果在这些位置下都没有找到对应的文件,则Spring Boot会按照以下顺序进行尝试加载:
- 如果指定了spring.config.name的话,会严格按照这个名称进行加载;
- 如果指定了spring.config.location的话,则会按照其中定义的路径进行查找。
2. properties文件的加载方式
properties文件采用key=value的键值对的形式进行配置。以下是一个简单的properties文件样例:
# application.properties
server.port=8080
server.context-path=/demo
db.url=jdbc:mysql://localhost:3306/test
db.username=root
db.password=123456
在Spring Boot应用启动时,会自动将这个文件中的配置信息加载到应用程序中。在代码中通过@Value注解进行依赖注入即可。
3. yml文件的加载方式
yml文件采用缩进来表示层级关系的形式进行配置。以下是一个简单的yml文件样例:
# application.yml
server:
port: 8080
context-path: /demo
db:
url: jdbc:mysql://localhost:3306/test
username: root
password: 123456
其中,以“server”开头的配置会绑定到ServerProperties类中,以“db”开头的配置会绑定到DataSourceProperties类中。同样可以使用@Value注解进行依赖注入。
4. 示例1:properties文件和yml文件混合使用
一个常见的配置方式是将业务相关的配置和数据库相关的配置分开存放。以下是一个示例:
application.properties:
server.port=8080
server.context-path=/demo
database.yml:
db:
url: jdbc:mysql://localhost:3306/test
username: root
password: 123456
在代码中同样可以使用@Value注解进行依赖注入:
@Value("${server.port}")
private int port;
@Value("${server.context-path}")
private String contextPath;
@Value("${db.url}")
private String dbUrl;
@Value("${db.username}")
private String dbUsername;
@Value("${db.password}")
private String dbPassword;
5. 示例2:指定profile加载不同的配置文件
Spring Boot支持使用不同的profiles来加载不同的配置文件。例如,我们可以创建以下三个文件:
- application-default.yml:默认配置文件,优先级最低;
- application-dev.yml:dev环境下的配置文件;
- application-prod.yml:prod环境下的配置文件;
在启动应用程序时,可以通过指定spring.profiles.active来加载对应的配置文件,例如:
java -jar myapp.jar --spring.profiles.active=dev
这时将会自动加载application-default.yml、application.yml和application-dev.yml文件中的配置信息。
以上就是关于“详解Spring Boot加载properties和yml配置文件”的完整攻略,希望能够对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Spring Boot加载properties和yml配置文件 - Python技术站