2015-02-10 3 views
0

У меня есть профиль, созданный в моем pom.xmlSpring профиль с аннотацией

<profiles> 
    <profile> 
     <id>test</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <properties> 
      <driverClassName>com.mysql.jdbc.Driver</driverClassName> 
      <databaseUrl>jdbc:mysql://localhost:3306/orgdb</databaseUrl> 
      <generateDatabase>true</generateDatabase> 
      <maxIdle>10</maxIdle> 
      <removeAbandoned>true</removeAbandoned> 
      <username>root</username> 
      <password></password> 
     </properties> 

    </profile> 


</profiles> 

Я хочу использовать свойство профиля в моем классе AppConfig установить, например, мои параметры DataSource:

@Bean 
public DataSource dataSource(){ 
    DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
    dataSource.setDriverClassName("com.mysql.jdbc.Driver"); 
    dataSource.setUrl("jdbc:mysql://localhost:3306/orgdb"); 
    dataSource.setUsername("root"); 
    dataSource.setPassword(""); 
    return dataSource; 
} 

Затем включите активный профиль в моем pom.xml. Я могу найти информацию о том, как это сделать с файлами xml или с файлами свойств.

Любые идеи?

ответ

0

Я перечисляю те шаги, что я использовал для того же: -

  1. Создать файл свойств env.properties и зарегистрировать это в AppConfig.java @PropertySource(value = { "classpath:env.properties" })
  2. Теперь в вашем env.properties написать следующее driverClassName=${driverClassName} и так далее ..
  3. Используйте PropertySourcesPlaceholderConfigurer в вашем AppConfig читать propertiy файл, как показано на фрагменте кода

    @Bean public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { return new PropertySourcesPlaceholderConfigurer(); }

  4. Используйте переменный файл свойства, как показано ниже

    @Value(value = "${driverClassName}") private String driverClassName;

Спасибо.

Смежные вопросы