您如何找到围绕Spring代码库的方式?

时间:2019-06-10 04:26:20

标签: spring spring-boot

我现在的职位是后端在Spring,但遇到了麻烦。在Django,Flask,Rails,Express.js等中,存在路由文件,您可以在其中找到服务器已配置响应的不同URL的声明,并从那里找到解决方法。 Spring似乎没有。...到处都是带有批注的文件,这些批注将各种类转换为端点。

您如何找到解决方法或对代码库的结构形成某种心理上的概念化?

2 个答案:

答案 0 :(得分:3)

以下是一些通用技巧:

  • Java IDE很棒,可以广泛使用它们。他们可以在许多情况下提供帮助。 它们都支持spring boot应用程序。这样,您可以打开pom.xml文件,它将加载项目。

  • 所有Rest控制器通常都带有@RestController注释

  • 如果您认为@RestController太通用,并且您的项目中需要更细粒度的内容,请考虑使用称为“立体声类型注释”的Spring Feature。简而言之,您可以定义自己的注释(例如@MyOwnVeryCustomProjectController),该注释本身会标记为@RestController,以便Spring boot像对待Rest Controllers一样对待带有该自定义注释的类(您也可以设置此方法可以将具有合理默认值的任何参数设置为最大)。

  • 如果您使用Java配置,而不是使用带有注释和组件扫描的纯声明式方法,则可以检查是否存在@Configuration个类,它们为所有控制器聚集了bean定义。

  • 在Spring Boot服务中使用Spring Actuator。简而言之,它将任何HTTP端点公开给任何spring-boot进程。在其他(相当有用的)端点中,有一个mappings端点,它显示运行时中所有@RequestMapping路径的列表。

答案 1 :(得分:1)

尝试查找带有注解@RestController的类。此类将用作@RequestMapping("/student")中路径的控制器,其中多个URL /端点用以下任一注释标记:

@RequestMapping("delete")
@PostMapping("/create")
@GetMapping("/list")
@DeleteMapping("{id}")
@PutMapping("{id}")

同样,每个控制器可以有多个,依次具有多个端点。

希望这会有所帮助。