在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
文件中定義的屬性值,如果有重復的屬性名,則會覆蓋之前加載的屬性值。