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.