我对TestNG,Spring框架等是绝对新的,我试图通过@Configuration
注释使用注释@Value
访问配置文件。Can not @Autowire configuration
我在这里试图实现的所有目标是让控制台从配置文件中通过@Value
访问值写出“hi”。我必须明显错过@Value
注释(或@Autowired
或一些其他注释)的全部点,因为我所得到的全部是java.lang.NullPointerException
。
我有以下三个文件(降低到绝对最小值):
config.properties
a="hi"
TestConfiguration.java
@Configuration
@PropertySource("config.properties")
public class TestConfiguration {
@Value("${a}")
public String A;
}
TrialTest.java
public class TrialTest {
@Autowired
private TestConfiguration testConfiguration;
@Test
public void test() {
System.out.println(testConfiguration.A);
}
}
非常感谢。
你可以看看这篇文章https://stackoverflow.com/questions/34779838/cannot-autowired-beans-when-separate-configuration-classes – Akash
你没有使用Spring runner,所以你的测试类不是'检查注射。请参阅Spring Test文档以了解如何使用TestNG完成此操作。 – chrylis
“@ Configiration”并不打算成为“@ Autowired”,它用于创建和配置Bean。 – yinon