使用spring java config以编程方式定义bean别名

时间:2015-04-17 10:03:50

标签: java spring spring-java-config spring-bean

我们的应用程序中有几个数据库连接,因此有几个用于JPA的配置。配置只有架构名称,数据库主机名等不同。其余如休眠设置等(通常)相同。 这导致多个HibernateJpaVendorAdapter,数据源等bean。它们都需要不同的名称,以免它们发生碰撞。我们目前手动设置如下:

@Configuration
@Bean
public class FooDbConfig {
     public DataSource fooDataSource() {
         return ...;
     }
     // ... more beans like HibernateJpaVendorAdapter etc.
} 

@Configuration
@Bean
public class BarDbConfig {
     public DataSource barDataSource() {
         return ...;
     }
     // ... more beans like HibernateJpaVendorAdapter etc.
} 

这当然是非常脆弱的维护。

我们希望有一种java配置“Configurer”,它通过传递bean名称前缀来创建必要bean的设置。然后它应该创建具有不同名称的所有必要的bean(数据源等),前缀为给定的前缀(例如“fooDataSource”和“barDataSource”)。

这样做的好方法是什么?

如何使用java config以编程方式生成bean别名?

0 个答案:

没有答案