根據上一篇文章中搭建了一個springboot簡單工程,在該工程中編寫HelloWordController.java接口類,並在該類中寫了一個main函數,做為該類的接口服務啟動入口。此時如果新增多個接口服務類時,不修改任何代碼是無法訪問新增類的接口服務。
實際上springboot提供了統一配置全局掃描接口服務類的啟動方法,本文就介紹如何使用:
如何配置統一啟動入口
在src根目錄下新建一個app包,在包下創建一個App.java類,通過代碼配置使其作為該工程的一個通用啟動入口類:
package app; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.ComponentScan; @ComponentScan("com.dx.controller") @EnableAutoConfiguration public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
備注:
1)ComponentScan用來配置目前掃描類所在包的路徑;
2)EnableAutoConfiguration自動注入;
3)SpringApplication.run(App.class,args)用來作為服務器啟動入口,目的啟動接口服務。
測試接口服務類:
已經擁有的接口服務類有:
HelloWordController.java
package com.dx.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class HelloWordController { @RequestMapping(value = "/index", method = RequestMethod.GET) public String index() { System.out.println("index is running..."); return "welcome"; } }
RestControllerTest.java
package com.dx.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; @RestController public class RestControllerTest { @RequestMapping("/rest") public Map<String, Object> rest() { Map<String, Object> result = new HashMap<>(); result.put("code", "404"); result.put("msg", "unkown"); return result; } }
,運行app.App.java類,等待啟動完成后。
1)訪問:http://127.0.0.1:8888/rest
2)訪問: