目录
注解总结
1. 把对象放到Spring容器中
@Component
@Controller 标注在控制层类上
@Service 标注在业务层类上
@Repository 标注在数据访问层类上
@Bean:管理第三方bean,把当前方法返回值放到Spring容器中
@Scope: 设置bean作用范围
2. 依赖注入
@Autowired IOC容器默认按类型装配
@Qualifier 按名称装配,必须和@Autowired配合使用
@Resource 按名称装配,如果按名称找不到就按类型
@Primary 让当前bean生效,IOC使用当前对象注入
3. 配置类注解
@Configuration:表明此类是一个配置类,Spring的注解
@Import:把配置类或bean导入Spring容器中,
@Value:读取配置文件中的单个值,把配置文件中的信息,注入到java的成员变量上
@ConfigurationProperties(prefix="") 读取配置文件中的值到实体类中 批量读取属性
@SpringBootApplication:Springboot核心注解
@SpringBootConfiguration:表明此类是一个SpringBoot配置类,SpringBoot的注解
@ComponentScan:配置路径扫描
@EnableAutoConfiguration:自动配置
4. 请求与响应
@RestController = @Controller + @ResponseBody 标识当前类是一个请求处理器类
@RequestMapping :请求路径 (可以把公共的请求路径,直接抽取到类上并指定请求路径)
@PostMapping:请求方式为post,并设置请求路径,用于新增操作
@PutMapping:请求方式为put,并设置请求路径,用于修改操作
@DeleteMapping:请求方式为delete,并设置请求路径,用于删除操作
@GetMapping:请求方式为get,并设置请求路径,用于查询操作
@RequestParam: 将指定的请求参数赋值给方法中的形参 请求参数和形参不一致时使用
@RequestBody:主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)
@ResponseBody:把当前方法返回值放到响应体中,如果返回值是实体类,则自动转换为json类型数据
@DateTimeFormat:接收日期类型传参
5. 过滤器、全局异常处理器
过滤器
@WebFilter(urlPatterns=""):配置过滤器过滤的路径
@ServletComponentScan:开启Servlet组件扫描
全局异常处理器
@RestControllerAdvice:放在类上,标明此类是一个异常处理器类 @RestControllerAdvice = @ControllerAdvice + @ResponseBody
@ExceptionHandler(Exception.class):放在方法上,指定当前方法捕获哪一类异常.用来统一处理方法抛出的异常
6. AOP及事务
AOP
@Aspect:代表当前类是aop(切面类)类
@PointCut:切点表达式注解
通知
前置通知:@Before
后置通知:@After
环绕通知:@Around 此注解标注的通知方法在目标方法前、后都被执行
返回后通知:@AfterReturning
异常后通知:@AfterThrowing
事务
@Transational:事务注解
切入点
@annotation 用在定义连接点时,对连接点进行限制 根据我们所指定的方法的描述信息来匹配切入点方法
@Insert 新增
@Delete 删除
@Update 更新
@Select 查询
@TableId:设置主键生成策略
@TableLogic:逻辑删除
@Version:版本号
@TableName:设置数据库表名字
@TableField(value="",select="",exist="") value:设置表字段和实体类字段映射 select:设置不查询表中某字段 exist:设置实体类中字段在表中不存在
8.Lombok
@Getter/@Setter 为所有的属性提供get/set方法
@ToString 会给类自动生成易阅读的 toString 方法
@EqualsAndHashCode 根据类所拥有的非静态字段自动重写 equals 方法和 hashCode 方法
@Data 提供了更综合的生成代码功能(@Getter + @Setter + @ToString + @EqualsAndHashCode)
@NoArgsConstructor 为实体类生成无参的构造器方法
@AllArgsConstructor 为实体类生成除了static修饰的字段之外带有各参数的构造器方法
9.其他
@Slf4j 操作在idea中的控制台中打印的日志信息
@PathVariable 映射 URL 绑定的占位符通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx”) 绑定到操作方法的入参中。
@DateTimeFormat 日期类型的参数在进行封装的时候,需要通过@DateTimeFormat注解,以及其pattern属性来设置日期的格式
@WebFilter 配置过滤器
@SpringBootTest 代表该测试类已经与SpringBoot整合
@Results及@Result 起别名时手动结果映射