一、SpringBoot
@SpringBootApplication注解主要包装了@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan注解。
-
@SpringBootConfiguration主要用来把bean注入到容器中,因为该注解又封装了@Configuration注解。而@Configuration注解又封装了@Component注解,@Component注解主要用来把一个bean注入到容器中。
-
@EnableAutoConfiguration开启自动化装配
-
@ComponentScan注解主要用来指定扫描容器的范围。
二、Spring
@Bean 用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。
- @Component Pojo
- @Service Service层
- @Controller Controller层
- @Repository Dao层
创建Bena实例
- @Autowired:根据属性类型进行自动装配
- @Qualifier:根据名称进行注入
- @Resource:可以根据类型注入,可以根据名称注入
- @Value:注入普通类型属性
@Aspect 指定切面类 增强的类
@Pointcut(value = "execution(* com.atguigu.spring5.aopanno.User.add(..))") 切入点抽取 采用全类名+方法名的方式
@Before(value = "pointdemo()")
完全注解开发
@Configuration
@ComponentScan(basePackages = {"com.atguigu"})
@EnableAspectJAutoProxy(proxyTargetClass = true)
增强优先级
有多个增强类多同一个方法进行增强,设置增强类优先级,在增强类上面添加注解 @Order(数字类型值),数字类型值越小优先级越高
三、SpringMVC
@RequestMapping
@GetMapping
@PostMapping 插入数据
@PutMapping 更新数据
@DeleteMapping("{id}")
@RequestParam
@RequestParam是将请求参数和控制器方法的形参创建映射关系
@RequestParam注解一共有三个属性:
value:指定为形参赋值的请求参数的参数名
required:设置是否必须传输此请求参数,默认值为true,若设置为true时,则当前请求必须传输value所指定的请求参数,若没有传输该请求参数,且没有设置
defaultValue属性,则页面报错400:Required String parameter 'xxx' is not present;若设置为false,则当前请求不是必须传输value所指定的请求参数,若没有传输,则注解所标识的形参的值为 null
defaultValue:不管required属性值为true或false,当value所指定的请求参数没有传输或传输的值为""时,则使用默认值为形参赋值
@RequestBody 用POST方式进行提交
@PathVariable 用于单变量
@Controller @RestController用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping。
四、全局异常处理
@ControllerAdvice:包含@Component。可以被扫描到。统一处理异常。
@ExceptionHandler(Exception.class):用在方法上面表示遇到这个异常就执行以下方法。
Lombok
@Data : 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法
MyBatis
@Mapper
注入到SpringBoot中
@Insert:实现新增
@Update:实现更新
@Delete:实现删除
@Select:实现查询
@Result:实现结果集封装
@Results:可以与@Result 一起使用,封装多个结果集
@One:实现一对一结果集封装
@Many:实现一对多结果集封装