SpringBoot错误:没有名为“ myController”的bean可用

Ank*_*der 3 java spring spring-boot

我正在SpringBoot中构建“ hello world”的基本程序

MyController.java

package controllers;
import org.springframework.stereotype.Controller;

@Controller
public class MyController {
    public String hello() {
        System.out.println("Hello World");
        return "foo";
    }
}
Run Code Online (Sandbox Code Playgroud)

DemoApplication.java

package di.prac;

import java.util.Arrays;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

import controllers.MyController;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        ApplicationContext ctx=SpringApplication.run(DemoApplication.class, args);
        MyController m = (MyController)ctx.getBean("myController");
        m.hello();
        System.out.println("*******"+Arrays.asList(ctx.getBeanDefinitionNames()));

    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用eclipse,并从http://start.spring.io/创建了这个项目,没有任何依赖性。

我了解到Spring 使用名称myController创建了MyController类的bean ,但是Spring无法找到myController bean

错误

线程“主”中的异常org.springframework.beans.factory.NoSuchBeanDefinitionException:在org.springframework.beans的org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:686)上没有名为“ myController”的bean org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)的org.springframework.beans.factory.support.AbstractBeanFactory.getBean的.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1210) (AbstractBeanFactory.java:199),位于org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1089),位于di.prac.DemoApplication.main(DemoApplication.java:16)

请在项目中找到并解释错误