目录
Spring注解
@Controller 控制器层(注入服务)
@Repository 持久层接口注解
@Service 业务层注解
@Component 标注一个类为Spring容器的Bean
@Configuration 定义配置类 替换xml
@ComponentScan 扫描需要装配的类自动装配到bean容器中
@Scope("singleton prototype") 将对象设置为非单例或者单例
@PostConstruct 方法 构造方法后
@PreDestroy 方法 彻底销毁前
@Qualifier 自动指定名称加载某个bean
@Value 给普通类型赋值
@PropertySource 获取属性源 多文件使用数组的格式
@Bean 表示方法返回值为bean
@Import 导入配置类
@RunWith 测试引擎
@ContextConfiguration 加载指定xml文件或者配置类
@Aspect 把当前类标识为一个切面供容器读取
@EnableAspectJAutoProxy 开启AOP 启动AOP自动代理
@Pointcut("execution(void com.liu.dao.BookDao.update())") 切点 执行 返回值 具体方法
@Before("pt()") 切面 参数填写切入点方法 前置通知
@After() 后置通知
@Around 环绕通知 方法参数ProceedingJoinPoint专用于环绕通知 的对象调用方法proceed()表示对原始操作的调用
@AfterReturning 方法没有异常时候才会正常运行 returning 获取原始方法的返回值
@AfterThrowing 抛出异常之后才运行 throwing 获取异常对象
JoinPoint:用于描述切入点的对象,必须配置成通知方法中的第一个参数,可用于获取原始方法调用的参数
@EnableTransactionManagement 声明注解事务管理 启动事务
@Transactional(rollbackFor = IOException.class) 开启事务 rollback:设置当前事务参与回滚的异常,默认非运行时异常不参与回滚
SpringMVC注解
@RequestMapping 请求映射路径 指定控制器处理URL请求
@ResponseBody 将controller的8方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML
@RequestParam 请求参数中的变量名称给到变量 也可以注解映射到对应名称的集合对象中作为数据
excludeFilters属性:设置扫描加载bean时,排除的过滤规则
@EnableWebMvc: 开启数据类型的自动转换 启用spring mvc的这几个核心组件
@RequestBody 注解将外部页面传递的json数据映射到形参的实体类对象中
@DateTimeFormat注解设置日期类型数据格式,pattern yyyy/MM/dd
@PathVariable :请求路径变量
@RestController : 相当于控制器与响应体
@PostMapping : 相当于post 其他提交方式相同
@ControllerAdvice: 给conntroller添加一层处理 annotations参数可以指定要处理的注解
@RestControllerAdvice 处理Rest风格的Controller问题 主要配合@ExceptionHandler使用,统一处理异常情
@ExceptionHandler 异常处理程序 拦截异常
SpringMVC配置类可以实现 WebMvcConfigurer 简化开发,但是具有一定的侵入性
继承 WebMvcConfigurationSupport 类实现对静态资源的放行
protected void addResourceHandlers(ResourceHandlerRegistry registry)
方法: addResourceHandler("/pages/**").addResourceLocations("/pages/");
MyBatis注解
@Result:实现结果集封装
@Results:可以与@Result 一起使用,封装多个结果集
@ResultMap:实现引用@Results 定义的封装
@One:实现一对一结果集封装
@Many:实现一对多结果集封装
@SelectProvider: 实现动态 SQL 映射
@CacheNamespace:实现注解二级缓存的使用
SpringBoot注解
@EnableCaching开启缓存注解功能
@Cacheable 在方法执行spring前查看缓存是否有数据,如果有数据,则直接返回缓存数据;如果没有数据,调用方法并且将方法返回值放到缓存中
@CachePut 将方法的返回值放到缓存中
@Cachevict 将一条或多条数据从缓存中删除
@ConfigurationProperties : 加载指定的属性 prefix =
@WebFilter 用于将一个类声明为过滤器,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为过滤器 :
filterName 指定过滤器的 name
value String[] 该属性等价于 urlPatterns 属性。但是两者不应该同时使用。
urlPatterns String[] 指定一组过滤器的 URL 匹配模式。等价于 <url-pattern> 标签。
servletNames String[]指定过滤器将应用于哪些 Servlet。取值是 @WebServlet 中的 name 属性的取值
@EnableConfigurationProperties({目标类.class})
如果ServerConfig 启用了@Component 就相当于配置了两个Bean
类注入了两次开启配置属性的功能,可以通过配置属性来进行属性注入 必须指定目标是谁
SpringCloud注解
@LoadBalanced 开启负载均衡
@RefreshScope 局部参数刷新
@EnableFeignClients 开启Feign客户端 注入到spring中
@FeignClient 类似与getMapper 指定服务名称
@RequestHeader 获取请求头
MyBatis-Plus 注解
@Mapper 交给Spring管理 并且继承 BaseMapper mp注解用于说明是mapper
MybatisPlusInterceptor 配置分页拦截器 添加内部拦截器PaginationInnerInterceptor
并且返回 MybatisPlusInterceptor拦截器对象即可 需要在交给Spring
QueryWrapper 条件查询对象 lambda()格式条件查询
LambdaQueryWrapper 同样查询
lt(小于) gt(大于) or(或者)
select()查询 有参数查询某些
groupBy() 分组查询 List<Map<String, Object>> 使用selectMaps()方法查询
eq()等同于
between()范围查询
like() 模糊查询
selectOne() 按条件查询一个
selectList() 按条件查询所有
selectBatchIds(list) 删除多个
selectBatchIds() 查询多个
@TableName 指定表名
@TableField(value = "password",select = false) 指定字段名称 是否查询
@TableField(exist = false) 数据库中是否存在
@TableId(type = IdType.[]) 主键自增策略
@TableLogic(value = "0" ,delval = "1") 逻辑删除 值为0 逻辑删除后值为1
全局配置 logic-delete-field:字段名 logic-not-delete-value:没删的值 logic-delete-value:删除的值
@Version乐观锁
OptimisticLockerInnerInterceptor() 乐观锁拦截器对象
代码生成器 mybatis-plus-generator
velocity模板引擎 velocity-engine-core
auto(0): 使用数据库id自增策略控制id生成
none(1): 不设置id生成策略
input(2): 用户手工输入id
assing_id(3): 雪花算法生成id(可兼容数值与字符串)
assing_uuid(4): 以uuid生成算法为id生成策略
配置文件中可设置 id-type: id生成策略 table-prefix: 表名前缀