spring boot importsource怎么设置加载顺序

2025-05-20 00:03:03
推荐回答(2个)
回答(1):

Spring Boot 所提供的配置优先级顺序比较复杂。按照优先级从高到低的顺序,具体的列表如下所示。

  1. 命令行参数。

  2. 通过 System.getProperties() 获取的 Java 系统参数。

  3. 操作系统环境变量。

  4. 从 java:comp/env 得到的 JNDI 属性。

  5. 通过 RandomValuePropertySource 生成的“random.*”属性。

  6. 应用 Jar 文件之外的属性文件。(通过spring.config.location参数)

  7. 应用 Jar 文件内部的属性文件。

  8. 在应用配置 Java 类(包含“@Configuration”注解的 Java 类)中通过“@PropertySource”注解声明的属性文件。

  9. 通过“SpringApplication.setDefaultProperties”声明的默认属性。

Spring 可以 利用@Order控制配置类的加载顺序

回答(2):

1. 开启 DevTools 时, ~/.spring-boot-devtools.properties
2. 测试类上的 @TestPropertySource 注解
3. @SpringBootTest#properties 属性
4. **==命令⾏参数(--server.port=9000 )==**
5. SPRING_APPLICATION_JSON 中的属性
6. ServletConfig 初始化参数
7. ServletContext 初始化参数
8. java:comp/env 中的 JNDI 属性
9. System.getProperties()
10. **操作系统环境变量**
11. random.* 涉及到的 RandomValuePropertySource
12. **jar 包外部的 application-{profile}.properties 或 .yml**
13. **jar 包内部的 application-{profile}.properties 或 .yml**
14. **jar 包外部的 application.properties 或 .yml**
15. **jar 包内部的 application.properties 或 .yml**
16. **@Configuration 类上的 @PropertySource**
17. SpringApplication.setDefaultProperties() 设置的默认属性
看到这么多,是不是懵逼了,感觉完全记不住,可以到传智播客社区在逛一逛