NullPointerException для компонента Springboot @Autowired в перехватчике [дубликат]JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 NullPointerException для компонента Springboot @Autowired в перехватчике [дубликат]

Сообщение Anonymous »

У меня есть компонент, основная задача которого — вернуть экземпляр Jedis, и он выглядит следующим образом:

Код: Выделить всё

@Component
public class JedisConfig {

private Jedis jedis;

public JedisConfig() {
jedis = new Jedis("localhost", 6379);
}

public Jedis getJedis() {return jedis;}
}
Затем я использую экземпляр Jedis, чтобы выполнить некоторые действия в preHandler моего перехватчика:

Код: Выделить всё

public class AuthInterceptor implements HandlerInterceptor {

@Autowired
private JedisConfig jc;

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Jedis jedis = jc.getJedis();

// do some other stuff with jedis below
}
}

Но я получаю исключение NullPointerException при вызове jc.getJedis() и не понимаю, почему это происходит.
В соответствующее примечание: я сделал почти то же самое в модульном тесте, и он работает нормально:

Код: Выделить всё

@Autowired
private JedisConfig jc;

@Test
public void testJedis(){
Jedis jedis = jc.getJedis();

jedis.set("user", "role");
assertThat(jedis.get("user"),is("role"));
}
Вот как я добавил перехватчик в реестр:

Код: Выделить всё

@Configuration
public class WebConfig implements WebMvcConfigurer {

@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new AuthInterceptor())
.addPathPatterns("/user/roleChange");
}
}
Если кто-нибудь знает, как это исправить, дайте мне знать. Спасибо вам огромное!


Подробнее здесь: https://stackoverflow.com/questions/726 ... nterceptor
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»