我有一个spring服务器,它在启动时运行一些计划的任务以及一个简单的端点。端点如下:
@PutMapping(value = "/api/publisher/apis/{API_ID}/serviceUrl")
public void redirectService(@PathVariable("API_ID") String apiId, InputStream urlStream) throws Exception
{
System.out.println("Redirected app id: " + apiId);
}
当我尝试用邮递员放行请求触摸它时,控制台显示为:
2019-07-25 07:52:52.665 INFO 39320 --- [nio-8080-exec-3] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-07-25 07:52:52.665 INFO 39320 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2019-07-25 07:52:52.669 INFO 39320 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
除此之外,没有任何计划任务在运行,在语法上没有语法上的错误,因为它在我重构破坏程序的文件夹之前有效。我尝试添加一些测试@Bean
,但它们也都没有启动。重构Spring应用程序时可能出了什么问题。 spring是否依靠特定的文件夹名称来查找控制器和其他类似文件?
答案 0 :(得分:2)
Spring并不依赖于文件夹名称来查找控制器,而是依赖于基础软件包,从中扫描Spring Bean可以通过使用注释@ComponentScan
指定。
正如@Service
@Controller
@Repository
@Component
一样,所有人都指定这些类是具有特定名称功能的bean。