微服务常用注解解析
Server包:
Application启动类:
CommandLinerRunner:此接口用于实现springboot启动时,加载默认配置,比如数据库初始化。
启动类的注解:
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(basePackages = “com.cl”)
@MapperScan(basePackages = {com.cl.ai.**.mapper})
Rest层(class):
Rest注解:通常extends BaseRest
@RestController
@RequestMapping(value = “/make”)
@GetMapping(value = “/enum”)
@PostMapping(value = “/Save”)
@Autowired和@Resource
@ApiOperation
@Slf4j
入参注解:
@RequestBody @Valid @Validated
Form注解:
@ToString
@Getter
@Setter
@Min(value = 0 , message = “isFinish不能小于0”)
@max
@JsonFormat(pattern = “yyyy-MM-dd”, timezone =”GMT+8”)
@NotNull(message = ”001|页码不能为空”)
常用类型:
Page和Page<>:Mybatis中用于分页查询
Result和Result<>:自定义封装类
Ps:<> 这叫范型,或者泛型!主要用去规定你这个集合中出现的数据类型!例子:一个弯可以装很多种食物,加上范型,比如是面,那么这个碗只能是装上面这类的食物的!
Service层:
接口类(interface):
Impl层(class):
@Service和@Service(“接口的名称”),Spring中默认是已经注册好的。
@Override
@TranSactional(rollbackFor = Exception.class)事务回滚
@Async(“getTask”)和@EnableAsync:异步调用,启用多线程。在Spring中,@EnableAsync可以使用多线程,@Async可以定义一个线程任务。
@Value(“${}”)和@Value(“#{}”)获取配置文件
HSSFWorkBook:工作簿的高级表现形式,用来读取excel.
MongoTemplate:java的mongo操作类。
Ps: @Repository、@Service、@Controller 和 @Component
Component层:
Mapper(interfeac):extends BaseDAO
@Mapper,要在启动类中添加@MapperScan(),mybatis3.4以后出现
@repository:注解接口,起到声明作用
@Select和@Param,@Results,@Result
@Insert
@Update
Ps:@repository @Service @Compent@Controller,没有本质区别,都是声明作用,取不同的名字是为了区分。
Model(class):
@TableName(“”)
@Setter
@Getter
@TableId 表主键标识
@TableLogic 表字段逻辑处理注解,逻辑删除
Global层:
Cofig(class):
@Configuration用于定于配置类。
@ApolloConfig用来自动注入Config
@ApolloConfigChangeListener用来自动注册ConfigChangeListener
Constants(enum):
Util(class):
Api包:
Dto层:
Bo(class):
@data:为类提供@Geeter/@Setter,同时还提供equals(),hashCode(),toString()
@NoArgsConstructor:lomback生成构造方法的注解,此注解生成一个无参构造方法。
@JsonNaming(SnakeCaseStrategy.class)指定Json字段名映射策略为蛇形大小写策略。
Constants(class):
@JsonFormat(shape=JsonFormat.Shape.OBJECT)java将枚举序列化为对象
Form(class):
@ApiModel
@ApiModelProperty声明api
Feign层(interface):
@FeignClient(name=”spring-boot-user”,url=””):spring-boot-user是eureka服务里面user项目的名称,加入此注解,能直接连接user项目接口。
@GetMapping(value=””)
@PostMapping(value=””)
@PathVariable(“id”)用来映射url中的占位符到目标方法的参数中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2018-05-11 spass按位置编码,进行排序题处理与分析