Looks like a circular dependency and for bean factory purposes it is (but because of the class hierarchy actually it isn't in fact).
Problem is that A needs to have B injected into it and vice versa.
The way I've solved it is:
1. declare A.
2. declare B and inject A. B then injects itself into A (programmatically).
Is there a better way of doing this in Spring?