У меня есть этот простой класс, помеченный @Configuration
@ConfigurationProperties("sample")
@Configuration
public class Sample {
private String username;
private String password;
private String url;
//Implementation }
. Чтобы получить файл bean-компонентов моего веб-приложения, я создал этот класс
@Component
public class AppSpringContext implements ApplicationContextAware {
private static ApplicationContext context;
/**
* Returns the Spring managed bean instance of the given class type if it exists.
* Returns null otherwise.
*
* @param
* @return
*/
@Override
public void setApplicationContext(ApplicationContext context) throws BeansException {
// Store ApplicationContext reference to access required beans later on
AppSpringContext.context = context;
}
public static ApplicationContext getAppContext() {
return context;
}
}
Когда я пытался Создание экземпляра класса в тестовом классе. Я получил исключение нулевого указателя, хотя смог успешно создать его в основном классе
@RunWith(SpringJUnit4ClassRunner.class)
public class SampleTest {
private Sample getInstance(Sample cfg) {
if (cfg == null) {
cfg = (Sample) AppSpringContext.getAppContext().getBean("sample"); //returns NULL object
}
return cfg; }
//Rest of implementation
}
Любая помощь, plzz ??