上一节用Spring Boot做了一个Hello World,但是这还远远不够。如果在建一个UserController,如下
package com.heroh.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
public class UserController {
@RequestMapping("/hello")
public String hello(){
return "你好啊";
}
}
浏览器输入localhost:8080/user/hello,是访问不到的,报404错误,如下
这是因为Spring容器还没有扫描到该controller,没有自动加载这个bean。
Spring Boot需要创建一个启动类,主要用于自动扫描并实例化所有的bean,而启动类的扫描默认是扫描与该启动类同包以及其子包下的类。创建启动类如下
package com.heroh;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
浏览器输入localhost:8080/user/hello,访问成功,如下
启动类需要注意的是,启动类默认是扫描与该启动类同包以及其子包下的类。如果需要手动指定扫描路径,可以添加配置@ComponentScan