Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / NPE @Autowired / 3 сообщений из 3, страница 1 из 1
03.12.2014, 17:56
    #38823996
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NPE @Autowired
Почему testRepository в классе:
Код: java
1.
2.
3.
4.
5.
@Service("autoSearch")
public class AutoSearch implements Runnable{

    @Autowired
    TestRepository testRepository;


всегда = null
В этом же пакете рядом лежит другой класс:
Код: java
1.
2.
3.
4.
5.
@Service("test")
public class B {

    @Autowired
    TestRepository testRepository;


и в нем инъекция проходит успешно.
Если я правильно понимаю, то причина в implements Runnable. Помогите разобраться. Спасибо
...
Рейтинг: 0 / 0
03.12.2014, 18:07
    #38824012
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NPE @Autowired
Runnable наводт на мысли о том, что AutoSearch запускается в отдельном потоке, а значит, вне контекста. Поэтому этот бин надо получить вручную, примерно так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	@Autowired
	TestRepository testRepository;

	private TestRepository getTestRepository() {
		if (testRepository==null) {
			ApplicationContext ctx = AppContextFactory.getInstance();
			testRepository = ctx.getBean(TestRepository.class);
		}
		return testRepository;
	}


ну и в коде обращаться к нему через get
...
Рейтинг: 0 / 0
03.12.2014, 18:08
    #38824013
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NPE @Autowired
ivanraRunnable наводт на мысли о том, что AutoSearch запускается в отдельном потоке, а значит, вне контекста. Поэтому этот бин надо получить вручную, примерно так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	@Autowired
	TestRepository testRepository;

	private TestRepository getTestRepository() {
		if (testRepository==null) {
			ApplicationContext ctx = AppContextFactory.getInstance();
			testRepository = ctx.getBean(TestRepository.class);
		}
		return testRepository;
	}


ну и в коде обращаться к нему через get
блин, читала ведь сегодня, спасибо!!!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / NPE @Autowired / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]