在开发和维护项目中,我们常常要修改代码。现在很多Java的框架技术都支持注解技术。
容易编辑,配置比较集中,方便修改,在大业务量的系统里面,通过xml配置会方便其他参与者理解整个系统的架构
💬 Spring的注解
- @Configuration——标识为配置类
- @Value——为属性赋值(@Value(“${key}”))
- @Controller——控制层
- @Service——业务层
- @Repository——数据访问层(持久层)
- @Component——标识当前类会交给spring容器管理
- @ComponentScan——对有@Component类进行扫描
- @PostConstruct——(生命周期的)初始化操作
- @PreDestory——(生命周期的)销毁操作
- @Lazy(true)——是否开启懒加载
- @Resource——默认根据名称注入,再根据类型注入(Java中的注入方式)
- @Autowired——根据类型注入
- @Qualifier——根据名称注入(不能单独使用,搭配@Autowired联合使用)
- @Bean——该方法的返回值交给spring容器
- @Aspect——标识当前类是一个切面类:5种👇
1).before通知 目标方法执行前执行
2).afterRrturning 通知 目标方法执行之后执行
3).afterThrowing 通知 目标方法报错时执行
4).after通知 目标方法执行之后 最后执行
5).around通知 目标方法执行前后都要执行
- @Pointcut——切入点表达式:4种👇
1). bean(bean的Id号) 按照bean匹配
2). within(包名.类名) 可以使用通配符
3). execution(返回值类型 包名.类名.方法名(参数列表))
4). @annotation(包名.注解名称)
- @Scope设置Spring容器如何新建Bean:👇
① Singleton (单例,一个Spring容器中只有一个bean实例,默认模式)
② Protetype (每次调用新建一个bean)
③ Request (web项目中,给每个http request新建一个bean)
④ Session (web项目中,给每个http session新建一个bean)
⑤ GlobalSession (给每一个 global http session新建一个Bean实例)
💭SpringMVC的注解
- @Controller——控制层
- @RestController——相当于@Controller和@ResponseBody的组合,该Controller的所有方法都默认加上了@ResponseBody。
- @RequestMapping——浏览器的请求路径与方法的映射
- @ResponseBody——将返回的数据转换为JSON串,如果是字符串本身,原数据返回
- @RequestBody——参数接收时,将JSON串转化为java对象 json中的key与对象的属性一致.
- @PathVariable——restFul结构,接收参数的注解.
- @GetMapping(" ")——只能接收GET请求类型
- @DeleteMapping(" ")——只能接收DELETE请求类型
- @PostMapping(" ")——只能接收POST请求类型
- @PutMapping(" ")——只能接收PUT请求类型
- @Transactional——Spring中用来控制事务
- @EnableWebMvc——在配置类中开启Web MVC的配置支持
- @ControllerAdvice——全局异常处理
- @ExceptionHandler 按照某种异常类型进行拦截
🗯️MyBatis的注解
- @Insert——插入sql
- @Select——查询sql
- @Update——更新sql
- @Delete——删除sql
- @Results——设置结果集:@Result
- @ResultMap——引用结果集
- @Param——入参,将参数封装为map集合
- @Mapper——将当前的接口交给Spring容器管理
- @SpringBootTest——测试代码注解
- @Alias——定义对象的别名 @Alias(“User”)
- @MapperScan——扫描指定包路径的接口,为其创建代理对象