Мне нужно получить доступ к ApplicationContext в классе MyException
public class MyException extends Exception {
public MyException(Map<String, Map<String,String>> errorObj) throws IOException {
ApplicationContext applicationContext = ApplicationContextProvider.getApplicationContext();
Environment env = applicationContext.getEnvironment();
...
}
}
И этот сервис выбрасывает его.
@Service
public class MyServiceImpl implements MyService {
@Override
public Response myFunction() {
throw new MyException(errorObj);
...
}
}
Изменить это ApplicationContextProvider
public class ApplicationContextProvider implements ApplicationContextAware {
private static ApplicationContext context;
public static ApplicationContext getApplicationContext(){
return context;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
context = applicationContext;
}
}
, когда язапустить unittest Я получил NullPointerException на ApplicationContext. Я хочу издеваться над ApplicationContext Как это сделать?
Я обнаружил эту ошибку только в модульном тестировании, но когда я запускаю с подпружиненной загрузкой: запустите его нормально