常见的接口设计逻辑是:controller - service - dao,但由于当前开发的项目很大,涉及模块众多,使用的设计逻辑是:controller - business - service - dao/FeignClient(关于多服务调用部分,请参见我的另一篇博文《SpringCloud组件Feign实现原理》),本文就针对各各层常用的注解(包括工具类、配置类等)进行一次总结,后续还可能持续更新中。
通用注解:
@Slf4j:本注解是日志打印工具,加上此注解后,可以使用log.info()在服务器上进行调试,在生产中的常见方式为先填入一个字符串,在其中使用括号{},后续跟上想要打印的参数名称,方便了解是否传对。
@Value:将外部配置文件(如application.properties或application.yml)中的属性值注入到Java类中的注解。
@Cacheable:是 Spring Framework 中的一个注解,它可以应用在方法上,用于声明该方法的结果可以被缓存起来,以便后续的调用可以直接返回缓存中的结果,而不必真正执行方法的代码。
1. Controller
@Controller
@RequestMapping
@GetMapping
@PostMapping
@Resource
@JsonBody
@RequestParam
@Operation
@ResponseBody
@RequestBody
@NeedCheck
@PathVariable
@NeedConfound
2. Business
@Component
3. Service
@Component
4. Dao/Mapper
@Mapper
5. Feignclient
@FeignClient
@PostMapping
@RequestBody
@GetMapping
@RequestParam
@PathVariable
6. Utils
@Component