Spring Cloud、Spring Boot、Spring Mvc、MyBatis 、Lombok 注解大全

Spring Boot启动类

注解名简介
@SpringBootApplication是springboot启动类
@EnableDiscoveryClient其他服务发现组件,例如Zookeeper、Consul等
@EnableEurekaClient基于spring-cloud-netflix,如果选用的注册中心是eureka,那么就使用@EnableEurekaClient
@EnableAutoConfiguration表示会在你开启某些功能的时候自动配置,这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于Spring-boot-stater-web添加了Tomcat和Spring Mvc ,所以auto-configuration将假定你在开发一个web应用,并对Spring进行相应地设置
@EnableTransactionManagement启动注解事务管理,等同于xml配置方式tx:annotation-driver/开启事务知耻后,然后子范文数据库的Service方法上添加注解@Transaction 便可
@MapperScan可以指定要扫描的类的包的路径如:(@MapperScan(“com.demo*.mapper”))
@EntityScan用于三秒JPA实体类
@EnableScheduling开启定时器
@ComponentScan如果不设置basePackage参数会默认扫描所有类,最好写上basePackage
@EnableHystrix表示启动段力气,断路器依赖于服务注册和发现
@EnableEurekaServerSpring Cloud Netflix Eureka项目将Netflix公司的Eureka项目加以封装,以适配Spring Boot自动化配置的机制,通过注解在Spring Boot项目启动时启动Eureka Server

常用注解

注解名简介
@Configuration表示这个类中定义了Bean,会把这个类中bean加载到spring容器中
@Mapper要求每一个mapper类都要添加此注解
@Async意思是可以异步执行,就是开启多线程的意思。可以标注在方法,类上。为了让@Async注解能够生效,需要在Spring Boot的主程序中配置@EnableAsync
@Bean标注在方法上,返回某个实例的方法,等价于Spring的xml配置文件中的,作用:注册bean对象
@GetMappingSpring4.3引进@GetMapping,@PostMapping,@PutMapping,@DeleteMapping,@PatchMapping,来帮助简化常用的HTTP方法的映射,是@RequestMapping(method=RequestMethod.GET)的缩写。该注解将HTTP Get映射到特定的处理方法上
@LoadBalancedSpring Cloudd的commons模块提供了一个@LoadBalanced注解,方便问哦们对RestTemplate添加一个LoadBlandcerClient,以实现客户端负载均衡。通过源码可以发现这是一个标记注解,我们可以通过ribbon实现客户端负载均衡功能
@Value为了简化从properties里取配置,可以使用@value
@PrimaryZion给装配时出现多个Bean候选者,被注解为@primary的Bean将作为首选者
@Qualifier可以手动指定按byName方式注入
@Resource默认按byName自动注入,如果找不到再按byTypr找bean,如果还找不到则抛出异常,无论按照byName还是byTyper如果找到多个,则抛出异常
@Signleton只要在类上加上这个注解,就可以实现一个单例模式,不需要自己手动编写单例实现类
@NotBlank检查约束字符串是不是Null还有被Tim的长度是否大于0,支队字符串且去掉前后空格
@Size@Size(min=,max=) 验证对象(Array,Collection,Map,String)航都是否在给定的范围内
@Email验证是否是邮箱,如果为null,不进行验证,算通过验证
@RequestBody@RequestBody(required=true) 默认属性required=true,当bodu里没内容时抛出异常,
@Target用于描述注解的使用范围,即@Target(ElementType.ANNOTATION_TYPE)被描述注解可以用在什么地方
@Retention作用是定义被它所注解的注解保留多久 ,一共有三种策略,定义在RetentionPolicy枚举中.从注释上看:source:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;被编译器忽略 class:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期 runtime:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在这3个生命周期分别对应于:Java源文件(.java文件) —> .class文件 —> 内存中的字节码。
@Log4j对于@Slf4j
@CrossOrgin是Cross-Orgin ResourceSharing(苦于啊资源共享的缩写),作用:解决跨域访问的问题
@RequestParam作用是提取和解析请求中的参数。支持类型转换,类型转换目前支持所有的基本java类型
@Repository@Controller,@Compent@Service,@Repositoy为了更好的区分各自功能
@PropertySource
@PathVariable处理requet uri部门,当使用@RequestMapping URL template 样式映射是,及someUrl/{paramId},这时的paramId 可用过@PathVariable
@RequestHeader处理request header 部分的注解,将头部信息绑定到方法参数上
@Scope默认是单例模式,即(@Scope(“singleton”)),即容器里只有一个实例对象.protorype:多例,每个request请求都会创建一个实例
@RestController@RestController=@Controoller+@ResponseBody。是两个注解的合并写过,即指定了该controller是组件,又指定方法
@Aspect切面配置支持,Spring Boot 引入了 Aop启动器的话不需要开启
@Transactional@Transactional(readOnly=true),注解事务
@HystixCommand注解方法失败后,系统将西东切换到fallbackMethod方法指定
@FeignClient注解中的fallback指定回调类
@Synchronized给线程增加同步锁

实体类注解

注解名简介
@Entity标注为实体类
@Table@Table(name="") 注解在类上表明这是一个实体。一般用于jpa注解一起使用,如果是表明和实体类名相同,@Table可以省略
@Cloumn通过Cloumn注解设置,包含的设置如下 name:数据库字段名,unique:是否唯一 nullable: 是否可以为空 Length: 长度
@Id表示该属性为主键
@Temporal@Temporal(Type.DATE)private Date date; 设置时间类型
@Transient表示该属性并非一个到数据库字段的映射,ORM将忽略该属性
@Basic
@JoinCloumn@JoinCloumn(name=“loginLd”) 一对一:表中只想另一个表的外键。一对多:另一个表只想本表的外键
@OneToOne@OneToMan@ManyToOne:对应hibenate配置文件中一对一,一对多,多对一
@GeneratedValue用于标注主角按的生成册罗,通过strategy属性指定,默认情况下,jpa自动选择一个最合适底层数据库的主键生成策略:SqlServer 对应 identity,MySQL 对应 auto increment。 在 javax.persistence.GenerationType 中定义了以下几种可供选择的策略:IDENTITY:采用数据库 ID自增长的方式来自增主键字段,Oracle 不支持这种方式;AUTO: JPA自动选择合适的策略,是默认选项;SEQUENCE:通过序列产生主键,通过 @SequenceGenerator 注解指定序列名,MySql 不支持这种方式TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。

Mybatis Plus注解

注解类包 mybatis-plus-annotation

注解名称描述
@TableName表明注解,属性 value:表明 schema:schema(@since 3.1.1) keepGlobalPrefic: 是否保持使用全局的tablePrefix 的值 如果设置了全局tablePrefix 且自行设置了 value 的值
@resultMapxml中resultMap id
@autoResultmap是否自动构建resultMap并使用
@tableId主键注解 value:主键字段名 type:主键类型,idType Auto:数据库自增 INPUT: 自行输入 ID_WORKER:分布式全部唯一ID 长整型类型 UUID 32位UUID字符集 NoNE:无状态 ID_WORKER_STR:分布式全局唯一ID 字符集串类型
@TableFied字段注解(非主键) value: 字段名 exist: 是否为数据库表字段 select:是否进行瑟勒图 查询
@Version乐观锁注解 标记在字段上
@EnumValue通枚举类型注解在枚举字段上
@TableLogic表字段逻辑处理注解(逻辑删除)
@KeySequence序列主键策略 oracle value: 序列名 clazz: id的类型 可以指定SString.class这样的返回Sequence值是字符串"1"

Lombok注解

注解名称描述
@NoargsConstructor生成一个无参构造方法
@AllArgsContructor生成一个有参构造方法
@RequiredArgsConstructor生成一个包含常量,和标识了NotNull的变量构造方法。生成的构造方法是私有的Private
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值