在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
文件中定义的属性值,如果有重复的属性名,则会覆盖之前加载的属性值。