gpt4 book ai didi

java - @PropertySource 从另一个项目加载另一个属性文件

转载 作者:行者123 更新时间:2023-11-30 10:25:45 27 4
gpt4 key购买 nike

为什么当我尝试从属性文件输出数据时,显示的数据是错误的?

在我的 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。

最佳答案

根据检查,访问的 datasource-cfg-properties 确实在 Chat App 中,但出于某种原因,它位于 Other Sources > src/main/sources/default package/datasource-cfg.properties 下。

我正在使用 Netbeans 8.0,我认为我正在访问源包中的 datasource-cfg.properties。很抱歉没有进一步检查并直接发布问题。

关于java - @PropertySource 从另一个项目加载另一个属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45972704/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com