Я использую JBoss с Spring.
Оба method1
и method2
из TestService
вызываются другим классом в том же пакете.
method1
вызов выполняется хорошо, но вызов method2
имеет исключение NullPointerException, потому что serviceA
имеет значение null, когда вызывается метод 2.
Я знаю, что у меня не должно быть закрытого для пакета метода 2, аннотированного с помощью @Transactional, и я ожидаю, что метод 2 не будет транзакционным из-за этого, но не могу объяснить, почему serviceA
имеет значение null при вызове метода 2.
Заранее спасибо за любые мысли.
testService.method1(); //good
testService.method2(); //NPE
@Transactional
@Service
public class TestService {
@Autowired
private ServiceA serviceA;
public void method1() {
this.serviceA.dosth();
}
void method2() {
this.serviceA.dosth();
}
}
отслеживание при звонке на method1
. cglib используется из-за отсутствия интерфейса
method2
call, no proxy created:
метод2