2016-04-28 3 views
0

Я пытаюсь для извлечения значения из базы данных из свойств, так по той же причине я использую @PropertySource весной, но он бросает FileNotFoundExceptionПроблема с application.properties файла в Java

@Configuration 
@EnableJpaRepositories(basePackages = { 
     "com.manju.springdata.repository" 
}) 
@EnableTransactionManagement 
@EnableWebMvc 
@ComponentScan(basePackages = "com.manju.springdata.*") 
@PropertySource("classpath:/application.properties") 
public class PersistenceContext { 

    @Value("${db.driver}") 
    private String dbDriver; 

    @Value("${db.url}") 
    private String dbURL; 

    @Value("${db.username}") 
    private String dbUserName; 

    @Value("${db.password}") 
    private String dbPassword; 

    @Bean(destroyMethod = "close") 
    DataSource dataSource(Environment env){ 
     BoneCPDataSource dataSource = new BoneCPDataSource(); 
     //dataSource.setDriverClass(env.getRequiredProperty("db.driver")); 
     dataSource.setDriverClass(dbDriver); 
     dataSource.setJdbcUrl(dbURL); 
     dataSource.setUsername(dbUserName); 
     dataSource.setPassword(dbPassword); 
     return dataSource; 
    } 

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

Мой проект структура выглядит следующим образом,

enter image description here

Я получаю следующее сообщение об ошибке,

Caused by: java.io.FileNotFoundException: class path resource [application.properties] cannot be opened because it does not exist 
     at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172) ~[spring-core-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     at org.springframework.core.io.support.EncodedResource.getInputStream(EncodedResource.java:153) ~[spring-core-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     at org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties(PropertiesLoaderUtils.java:98) ~[spring-core-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     at org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties(PropertiesLoaderUtils.java:72) ~[spring-core-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     at org.springframework.core.io.support.PropertiesLoaderUtils.loadProperties(PropertiesLoaderUtils.java:58) ~[spring-core-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     at org.springframework.core.io.support.ResourcePropertySource.<init>(ResourcePropertySource.java:84) ~[spring-core-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     at org.springframework.context.annotation.ConfigurationClassParser.processPropertySource(ConfigurationClassParser.java:360) ~[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:254) ~[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:231) ~[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:198) ~[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167) ~[spring-context-4.2.0.RELEASE.jar:4.2.0.RELEASE] 
     ... 57 common frames omitted 

Как получить доступ к моим значениям файлов свойств, что не так с моим кодом? Любые предложения

+0

Удалите '/' из вашего '@PropertySource (" classpath: /application.properties ")', попробуйте. – Blank

+0

Первоначально я пробовал это только. Он не работает @Reno – Vinod

+0

Перейдите в код, в котором произошло исключение, и отлаживайте его для реального значения пути файла шаг за шагом. – Blank

ответ

1

Проблема с вашей структурой папок. Папка resource должна быть ниже main, а не java. Посмотрите на this по умолчанию для проекта maven. Переместите папку ресурса или измените значение на classpath:/resources/application.properties.

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