getBean(String, Object ...) is applicable to bean's constructors or factory methods. Your CoreService should have CoreService(String s) constructor in order to use this method. If you want to create many CoreService instances with different parameters, you can create a factory bean which creates all instances for you and puts them together, like
@Component
public class CoreServiceFactoryBean {
@Autowired ApplicationContext ctx;
public CoreService getBean(String param) {
CoreService coreService = ctx.getBean("coreService");
CoreDao coreDao = ctx.getBean("coreDao", parameter);
coreService.setCoreDao(coreDao);
return coreService;
}
}
This way, the logic of creating bean and using it remains separate. Using factories is pretty common to configure prototype scoped beans.