SpringBoot(二):设置springboot同一接口程序启动入口
根据上一篇文章中搭建了一个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)访问:
基础才是编程人员应该深入研究的问题,比如:
1)List/Set/Map内部组成原理|区别
2)mysql索引存储结构&如何调优/b-tree特点、计算复杂度及影响复杂度的因素。。。
3)JVM运行组成与原理及调优
4)Java类加载器运行原理
5)Java中GC过程原理|使用的回收算法原理
6)Redis中hash一致性实现及与hash其他区别
7)Java多线程、线程池开发、管理Lock与Synchroined区别
8)Spring IOC/AOP 原理;加载过程的。。。
【+加关注】。