bean abstract autowire