SpringBoot推荐 => 注解代替配置文件
Spring注解
@Transactional //事务注解 (标注到Service方法上,表示数据库 curd操作必须全部完成,否则回滚)
@Configuration //注解代替Spring配置Spring注解,标记类后当前类成配置类,当前类的@Bean注解
@Component //声明一个 组件 会被注入到 IOC容器中
@Value //从配置文件中取值
@SpringBootApplication //标注一个springboot应用
@Bean //注入JavaBean
@service //声明服务层
@Repository //
@Autowired //自动装配 (不推荐使用)
@EnableAutoConfiguration: //SpringBoot自动配置(auto-configuration):尝试根据你添加的jar依赖自动配置你的Spring应用
controller
@PostMapping
@GetMapping
@PutMapping
@DeleteMapping
@RequestMapping(value = "/getUsers", method = RequestMethod.GET):
@RequestMapping(“/path”)表示该控制器处理所有“/path”的UR L请求。RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。该注解有六个属性:
params:指定request中必须包含某些参数值是,才让该方法处理。
headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。
value:指定请求的实际地址,指定的地址可以是URI Template 模式
method:指定请求的method类型, GET、POST、PUT、DELETE等
consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html;
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
@Restcontroller(包含@Controller和@ResponseBody) 标注控制层 @ResponseBody 表示该方法的返回结果直接写入HTTP response body
@ResponseBody:标记在类上,表示类下所有方法返回一条语句给网站,
/*获取参数 三个注解*/
@PathVariable – 从url取值(RESTFUL风格)
@RequestMapping("/submit/{Id}")
public void submitModifyArticle(@PathVariable("id") String id){}
/*接收请求 url中的参数 和 请求体中 Content-Type 为 application/x-www-form-urlencoded 编码的内容*/
@RequestParam 用在方法的参数前面。
/*一般用在POST 和 PUT方法中 不可用在GET中*/
@RequestBody /*数据在application/x-www-form-urlencoded数据 Params和form-data中不可获取到*/
Mapper注解
@MapperScan("com.rock.lejiajia.**.mapper") //扫描Mapper接口 省去@Mapper接口
@Mapper //声明Mapper接口
@Param("page") //声明传入xml中参数的名称
Oauth及Spring Security注解
@EnableAuthorizationServer //开启Oauth授权服务器
@EnableResourceServer //Oauth资源服务器 (访问该项目接口时需要令牌)
@EnableWebSecurity //开启web安全
Lombok注解
@UtilityClass //所有的方法和属性都会加上static 关键字
@Getter @Setter //生成get set方法
@Data //注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
@AllArgsConstructor //注在类上,提供类的全参构造
@NoArgsConstructor //注在类上,提供类的无参构造
@Accessors(chain=true)//开启链式编程
@Accessors(fluent = true)//调用get、set方法时不用不带set和get前缀 如 User user=new User().age(31).name("pollyduan");
@Accessors(prefix = "N") // set方法忽略指定前缀 如 user.setame("pollyduan");
Swagger注解
@EnableSwagger2 //开启Swagger
@ApiOperation(value = "根据专题名称分页获取专题") //作用在Controller方法上面 说明接口的作用
@ApiModelProperty("商品名称") //作用在属性上 说明字段含义
@EnableKnife4j // 开启knife4j文档 地址: http://localhost:6500/doc.html
Spring验证注解
@Null //被注释的元素必须为null
@NotNull //被注释的元素不能为null
@AssertTrue //被注释的元素必须为true
@AssertFalse //被注释的元素必须为false
@Min(value) //被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) //被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) //被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) //被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max,min) //被注释的元素的大小必须在指定的范围内。
@Digits(integer,fraction) //被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past //被注释的元素必须是一个过去的日期
@Future //被注释的元素必须是一个将来的日期
@Pattern(value) //被注释的元素必须符合指定的正则表达式。
@Email //被注释的元素必须是电子邮件地址
@Length //被注释的字符串的大小必须在指定的范围内
@NotEmpty //被注释的字符串必须非空
@Range //被注释的元素必须在合适的范围内
数据库注解
@EnableCaching //开启基于注解的缓存
@Cacheable
/*cacheNames/value :用来指定缓存组件的名字
key :缓存数据时使用的 key,可以用它来指定。默认是使用方法参数的值。(这个 key 你可以使用 spEL 表达式来编写)
keyGenerator :key 的生成器。 key 和 keyGenerator 二选一使用
cacheManager :可以用来指定缓存管理器。从哪个缓存管理器里面获取缓存。
condition :可以用来指定符合条件的情况下才缓存
unless :否定缓存。当 unless 指定的条件为 true ,方法的返回值就不会被缓存。当然你也可以获取到结果进行判断。(通过 #result 获取方法结果)
sync :是否使用异步模式。*/