code: protected BeanDefinition createBeanDefinition(Class<? extends  Controller> controllerClass) {
          // optionally configure all bean properties, like scope, prototype/singleton, etc
  //        return new RootBeanDefinition(beanClass);
          return new RootBeanDefinition(controllerClass, Autowire.BY_TYPE.value(), true);
      }
docs: Created a bean definition for a class.
  Optionally configure all bean properties, like scope, prototype/singleton, etc using:
  <p/>
  <pre>
  BeanDefinition definition = super.createBeanDefinition(beanClass);
  definition.setScope(BeanDefinition.SCOPE_SINGLETON);
  return definition;
  </pre>
  
  @param controllerClass
  @return