2017-08-31 1 views
2

Warum ist es falsch, wenn ich versuche, die Daten aus einer Eigenschaftendatei auszugeben, die Daten, die angezeigt würden?@PropertySource lädt eine andere Eigenschaftendatei aus einem anderen Projekt

In meinem ChatApp Projekt habe ich datasource-cfg.properties Datei:

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

und als ich ausgeben versuche in meinem Programm es irgendwo die Daten sind falsch. Hier ist mein 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; 
    } 
} 

Und das Ergebnis ist nicht das gleiche mit, was in datasource-cfg.properties Datei

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 

Ich bemerkte, dass diese Daten von einem anderen Projekt. In meiner SpringFrameworkApp. Kann mir jemand dabei helfen? Ich möchte auf die Datei datasource-cfg.properties in ChatApp Project zugreifen.

Antwort

1

Gemäß der Überprüfung, die Datenquelle-cfg-Eigenschaften, die zugegriffen wurde, ist zwar in der Chat-App, aber aus irgendeinem Grund befindet sich unter Andere Quellen> src/main/sources/default-Paket/datasource-cfg.properties.

Ich verwende Netbeans 8.0 und ich dachte, dass ich auf die Datenquelle-cfg.properties im Quellpaket zugegriffen habe. Entschuldigung dafür, dass du nicht weiter nachgehakt und die Frage direkt gestellt hast.

Verwandte Themen