gpt4 book ai didi

java - 上下文配置和@PropertySource

转载 作者:太空宇宙 更新时间:2023-11-04 06:59:20 27 4
gpt4 key购买 nike

我有一个完美的测试设置,如下所示......

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = { ApplicationConfig.class })
public class myTest {
@Autowired
private JestClient jestClient;
@Autowired
private DataSource dataSource;
@Autowired
private DSLContext jooq;

它运行良好,没有任何问题,但是当我在正在运行的应用程序中运行测试代码的完全相同部分时,一切都会崩溃。让我详细说明一下...

我的java配置文件描述了一个像这样的属性文件

@Configuration
@ComponentScan({ "my.package" })
@PropertySource("classpath:/my/package/config/myfile.properties")
@Import(PersistenceConfig.class)
public class ApplicationConfig {

我正在 Heroku 上运行我的应用程序,因此我将我的 DI 框架 - Spring 3.2 嵌入到我的项目中。在该云服务上启动应用程序将需要我创建一个 Spring 框架启动器。这就是我所做的:

@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = { ApplicationConfig.class })
public class ApplicationMain {

private final static Logger LOGGER = LoggerFactory.getLogger(ApplicationMain.class);

public static void main(String[] args) throws Exception {
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();

// Choose what job to start based on a parameter
JobDetail jobDetail = null;
if (args != null && args.length > 0) {
for (int i = 0; i < args.length; i++) {
if (args[i].equals("GO1")) {
jobDetail = newJob(GogJob.class).build();

因此,如果使用 GO1 参数调用 main,那么我测试的代码将执行。但随后失败,因为

java.lang.IllegalStateException
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException
Caused by: java.io.FileNotFoundException

我相信这肯定是由于未找到属性造成的......我想不通这个。

最佳答案

由于您的属性文件用于测试,因此它们应该位于 src/test/resources

关于java - 上下文配置和@PropertySource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22336486/

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