spring properties文件如何重写

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