Closed
Description
@Bean
public SqlSessionFactoryBeanCustomizer sqlSessionFactoryBeanCustomizer1(){
return factoryBean -> {
try {
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("classpath:mapper1/*.xml");
factoryBean.setMapperLocations(resources);
} catch (IOException e) {
e.printStackTrace();
}
};
}
@Bean
public SqlSessionFactoryBeanCustomizer sqlSessionFactoryBeanCustomizer2(){
return factoryBean -> {
try {
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("classpath:mapper2/*.xml");
factoryBean.setMapperLocations(resources);
} catch (IOException e) {
e.printStackTrace();
}
};
}
If I assign values to the mapperLocations property of SqlSessionFactoryBean multiple times, the overwrite problem will occur because:
public void setMapperLocations(Resource... mapperLocations) {
this.mapperLocations = mapperLocations;
}
The setMapperLocations method directly assigns parameters to member properties instead of merging