I've already gone through some tips on how to do this, like this one: stack overflow; but my problem is that my own implementation needs other things to be injected in it. Here's the example:
public interface MyService {}
public class ServiceImplA implements MyService {
     @Autowired
     private final SomeStuffA a_stuff;
}
public class ServiceImplB implements MyService {
     @Autowired
     private final SomeStuffB b_stuff;
}
@Configuration
public class SpringConfig {
    @Bean
    @Scope("singleton")
    public MyService getService() {
         boolean useA = // read config file and decide impl
         return useA ? new ServiceImplA() : new ServiceImplB();
         // I can't instantiate this, so i need them to be injected as well
    }
}
I'm familiar with Google Guice, where I would do something like this:
bind(MyServicle.class).to(useA ? ServiceImplA.class :  ServiceImplB.class);
So, I need a way to do this using Spring