2017-08-31 135 views
2

爲什麼當我嘗試從屬性文件輸出數據時,顯示的數據是錯誤的?@PropertySource從另一個項目加載另一個屬性文件

在我ChatApp項目中,我有datasource-cfg.properties文件:

# DataSource 
ds.database-driver=org.apache.derby.jdbc.ClientDriver 
ds.url=jdbc:derby://localhost:1527/sample 
ds.username=app 
ds.password=app 

,當我試圖輸出它的地方在我的計劃中的數據都是錯誤的。 這裏是我的ApplicationContextConfig:

@Configuration 
@ComponentScan("com.icomm.chatapp.*") 
@EnableTransactionManagement 
@PropertySource(value="classpath:datasource-cfg.properties") 
public class ApplicationContextConfig 
{ 

    @Autowired 
    private Environment env1s; 

    @Bean 
    public ResourceBundleMessageSource messageSource() 
    { 
     ResourceBundleMessageSource rb = new ResourceBundleMessageSource(); 
     rb.setBasenames(new String[] 
     { 
      "messages/validator" 
     }); 
     return rb; 
    } 

    @Bean(name = "viewResolver") 
    public InternalResourceViewResolver getViewResolver() 
    { 
     InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
     viewResolver.setPrefix("WEB-INF/jsp/"); 
     viewResolver.setSuffix(".jsp"); 
     return viewResolver; 
    } 

    @Bean(name = "dataSource") 
    public DataSource getDataSource() 
    { 
     DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
     dataSource.setDriverClassName(env1s.getProperty("ds.database-driver")); 
     dataSource.setUrl(env1s.getProperty("ds.url")); 
     dataSource.setUsername(env1s.getProperty("ds.username")); 
     dataSource.setPassword(env1s.getProperty("ds.password")); 
     System.out.println("--------------Property File------------"); 
     System.out.println("" + env1s.getProperty("ds.database-driver")); 
     System.out.println("" + env1s.getProperty("ds.url")); 
     System.out.println("" + env1s.getProperty("ds.username")); 
     System.out.println("" + env1s.getProperty("ds.password")); 
     System.out.println("--------------Data Source------------"); 
     System.out.println("" + dataSource.getUrl()); 
     System.out.println("" + dataSource.getUsername()); 
     System.out.println("" + dataSource.getPassword()); 
     return dataSource; 
    } 

    @Autowired 
    @Bean(name = "transactionManager") 
    public DataSourceTransactionManager getTransactionManager(DataSource dataSource) 
    { 
     DataSourceTransactionManager transactionManager = new DataSourceTransactionManager(dataSource); 
     return transactionManager; 
    } 
} 

,其結果是沒有用什麼在datasource-cfg.properties文件

Info: Loaded JDBC driver: com.mysql.jdbc.Driver 
Info: --------------Property File------------ 
Info: com.mysql.jdbc.Driver 
Info: jdbc:mysql://192.168.28.52:3306/retina 
Info: dbmail 
Info: dbmail 
Info: --------------Data Source------------ 
Info: jdbc:mysql://192.168.28.52:3306/retina 
Info: dbmail 
Info: dbmail 

我注意到,這些數據是從其他項目相同。在我的SpringFrameworkApp中。有人能幫我解決這個問題嗎?我想訪問ChatApp項目中的datasource-cfg.properties。

回答

1

根據檢查,被訪問的datasource-cfg屬性確實在Chat應用程序中,但由於某種原因它位於其他來源> src/main/sources/default package/datasource-cfg.properties下。

我使用的是Netbeans 8.0,我認爲我正在訪問Source Package中的datasource-cfg.properties。對不起,沒有進一步檢查並直接發佈問題。