добрый день!
Есть pom.xml в котором созданы несколько профилей :
test devel итд , в них описаны конфиги для БД итд.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
</properties>
<profiles>
<profile>
<id>test</id>
<properties>
<platform>linux</platform>
<profile.name>test</profile.name>
<hibernate.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</hibernate.dialect>
<hibernate.hbm2ddl>update</hibernate.hbm2ddl>
<!--<jdbc.driver>com.p6spy.engine.spy.P6SpyDriver</jdbc.driver>-->
<jdbc.driver>com.mysql.jdbc.Driver</jdbc.driver>
<jdbc.url>jdbc:mysql://localhost/db_test_finbase</jdbc.url>
<jdbc.username>root</jdbc.username>
<jdbc.password>root</jdbc.password>
</properties>
</profile>
<profile>
<id>dev</id>
<properties>
<platform>linux</platform>
<profile.name>dev</profile.name>
<hibernate.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</hibernate.dialect>
<hibernate.hbm2ddl>update</hibernate.hbm2ddl>
<jdbc.driver>com.mysql.jdbc.Driver</jdbc.driver>
<jdbc.url>jdbc:mysql://test_dev/db_dev_finbase</jdbc.url>
<jdbc.username>dev_adm</jdbc.username>
<jdbc.password>devdev</jdbc.password>
</properties>
</profile>
</profiles>
Есть файл : AppConfig в котором есть настройка на БД
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories("com.model.repositories")
@Import(RepositoryRestMvcConfiguration.class)
@PropertySource(value = {"classpath:application.properties"})
public class AppConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer placeHolderConfigurer() {
PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
return configurer;
}
@Autowired
private Environment env;
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl(env.getProperty("jdbc.url"));
dataSource.setUsername(env.getProperty("jdbc.username"));
dataSource.setPassword(env.getProperty("jdbc.password"));
return dataSource;
}
как сделать так чтобы в зависимости от сборки test или dev - туда попадали разные настройки?
ЗЫ
есть еще ФАЙЛ
src/main/resources/application.properties
в котором по идеи и должны храниться параметры :
1.
2.
3.
4.
5.
6.
7.
8.
################### DataSource Configuration ##########################
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_cache_promo_finbase
jdbc.username=root
jdbc.password=root
init-db=false
и spring javaconfig как раз их и читает т.к указано
@PropertySource(value = {"classpath:application.properties"})
: но !
нужно чтобы и этот файл был опциональный !
т.е. в нем хочется иметь ссылки на значения из pom.xml
кажется такая должна быть идея ???
1.
2.
3.
4.
5.
6.
################### DataSource Configuration ##########################
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=${jdbc.url}
jdbc.username=${jdbc.username}
jdbc.password=${dbc.password}