在Spring中,可以通过使用@PropertySource
注解和PropertySourcesPlaceholderConfigurer
来重写properties文件中的属性值。
-
创建一个新的properties文件,例如
custom.properties
,并在其中定义要重写的属性值。 -
在Spring的配置类中使用
@PropertySource
注解导入custom.properties
文件,如下所示:
@Configuration @PropertySource("classpath:custom.properties") public class AppConfig { // other configurations }
- 创建一个
PropertySourcesPlaceholderConfigurer
的Bean,并将其添加到Spring的配置类中,如下所示:
@Configuration @PropertySource("classpath:custom.properties") public class AppConfig { @Bean public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { return new PropertySourcesPlaceholderConfigurer(); } // other configurations }
- 在需要注入属性值的地方,使用
@Value
注解来注入属性值,如下所示:
@Component public class MyComponent { @Value("${custom.property1}") private String customProperty1; // other code }
这样就可以实现重写properties文件中的属性值。在加载properties文件时,Spring会首先加载custom.properties
文件中定义的属性值,如果有重复的属性名,则会覆盖之前加载的属性值。