springboot入門---入口類註解@SpringBootApplication解析
阿新 • • 發佈:2019-01-11
背景:今天新建立了一個springboot專案,之後怎麼都訪問不了 一直報404
錯誤現象及描述:
程式碼展示:
測試一:起初直接在啟動類裡邊寫了測試方法進行測試
結果訪問http://localhost:8080/ 報404@SpringBootApplication public class TestSpringBootApplication { @RequestMapping("/") public String index(){ return "hello"; } public static void main(String[] args) { SpringApplication.run(TestSpringBootApplication.class, args); } }
測試一解決方案:在入口類上邊加上@RestController註解即可
測試二:將測試方法寫入另外的包和類中,如下所示,新建包和類@SpringBootApplication @RestController public class TestSpringBootApplication { @RequestMapping("/") public String index(){ return "hello"; } public static void main(String[] args) { SpringApplication.run(TestSpringBootApplication.class, args); } }
@RestController
public class sss {
@RequestMapping("/sss")
public String index(){
return "hello";
}
}
包結構如圖所示:
訪問:http://localhost:8080/sss 報404
測試二解決方法:修改入口類的註解為
特別注意:因為包掃描需要自定義,否則掃描到的好像只是入口類所在的包,或者入口類所在包的下一級,比如,入口類的包名字是com.example.demo,那麼com.example.demo.XXX.xxx都可以被掃描到,但是com.example.xxx就不可以被掃描到。@SpringBootApplication(scanBasePackages="com.example") public class TestSpringBootApplication { public static void main(String[] args) { SpringApplication.run(TestSpringBootApplication.class, args); } }
測試三:因為@SpringBootApplication註解是一個組合註解,底層是有多個註解組成的,其中我們也可以把@SpringBootApplication換成另外三個註解也可以完成專案啟動。
//包掃描
@ComponentScan("com.example")
//元件掃描
@Configuration
//配置控制
@EnableAutoConfiguration
public class TestSpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(TestSpringBootApplication.class, args);
}
}
其中注意的是:包掃描,也是需要自定義的,否則也是隻掃描到入口類所在的包以及入口類所在包的下一級。
總之,配置包掃描是必不可少的。