SSM框架注解
2021-12-01 本文已影响0人
公子请留步LookMe
Spring注解
- @Configuration:表示使用注解的格式开发 必须定义
- @Bean:自己创建对象使用
- @Component:spring容器创建对象化
- @ComponentScan:扫描包
- @scope("singleton"):单例注解
- @scope("prototype"):多例注解
- @Lazy:懒加载
- @Autowired:注入实现接口的实现类
默认使用类型注入
可以按照名称注入:@Qualifier("dog"):注解和@Autowired一起使用
- @Resource(jdk自带的注解一般不推荐用)
默认使用类型注入
可以按照名称注入:@Resource(name="resource")
@PropertySource(classpath,字节编码集):
@Value(${获取的值 key}) - 生命周期注解:
@PostConstruct:初始化
@PreDestroy:销毁
- mvc设计模式的注解 和 Component注解使用效果一样:一个是交个Spring 管理 一个是SpringMVC
- 控制层Controller :@Controller
- 业务层Service:@Service
- 持久层Mapper:@Repository {mybatis中用@mapper注解}
- @Aspect:标识该类是一个切面
- @Befoer:前置通知,一般用来记录类型 方法名 等
- @AfterReturning:后置通知,一般用来获取目标方法的返回值
- @AfterThorwing:异常通知,一般用来处理异常
- @After:最总通知,目标方法之后 都要执行的通知
- @Around:
java spring 环绕通知 ProceedingJoinPoint 执行proceed方法的作用是什么 ?
环绕通知 ProceedingJoinPoint 执行proceed方法的作用是让目标方法执行,这也是环绕通知和前置、后置通知方法的一个最大区别。
简单理解,环绕通知=前置+目标方法执行+后置通知,proceed方法就是用于启动目标方法执行的. - @SpringBootTest //单元测试类,自动启动spring容器
- @Param :将多值封装为单值
作用:将数据封装成map
- @RequestParam:将参数设置默认值
@RequestParam
* value/name 接收参数的名称
* required=true 为必填参数
* defaultValue="" 设定默认值
restFul语法
url:./user/{id}/{name}
- @PathVariable
restFul语法:
* 1. 参数与参数之间使用/分割
* 2. 需要接收的参数使用{}包裹
* 3. 参数接收时采用@PathVariable取值 例如:@PathVariable Integer id,@PathVariable String name)
SpringMVC注解
- @enableaspectjautoproxy:默认为JDK代理, proxyTargetClass=true 开启cglib代理
- @RequestMapping:请求路径
- @ResponseBody :将数据转化为"特殊字符串"返回(将返回值转化为JSON串)
- @RequestBody:将JSON串转化为对象数据
- @RestController:封装了ResponseBody ,Controller
- @GetMapping(“index”) PutMapper DeleteMapper PostMapper 简单的说其中@GetMapping的意思是请求的方式为get方式(即可通过浏览器直接请求),而里面的index表示这个页面(接口)的url地址(路径)。即在浏览器对项目网页访问的地址。
- @CrossOrigin:跨域
Lombok
@Data //Getter/Setter/RequiredArgsConstructor/ToString/EqualsAndHashCode
@Accessors(chain = true) // 重写了set方法,可以实现链式加载
@NoArgsConstructor : 自动添加无参构造方法
@AllArgsConstructor:全参构造方法
Spring开启事务
@Transactional(传播行为,隔离级别,超时时间) {可以使用在类上 方法上}
- 传播行为:
required:如果有事务在运行,当前的方法就在这个事务内运行,否则,就启动一个新的事务,并且自己的事务内运行
required new:当前的方法必须启动新事务,并在它自己的事务内运行,如果有事务正在运行,应将它挂起 - 隔离级别:
read uncommitted:读未提交
read committed:读已提交
repeatab read:可重复读
Serializable:可序列化 - 超时时间:time(时间单位秒)
- readOnly:是否制毒
false:表示可以查询,可以添加修改删除操作(默认)
true:只能查询 - rollbackFor:回滚
设置出现异常进行回滚 - noRollbackFor:不回滚
设置出现哪些异常不进行事务回滚
Mybatis 注解二级缓存开启
- @CacheNamespace
MybatisPlus
- @TableName("user") // 让对象跟表名一一映射
- @TableId(type = IdType.AUTO) //标识主键 标识主键自增
- @TableField("username") //属性与表字段一一映射 (如果属性与字段名称一致包含驼峰规则可以省略)
转义字符
> gt ,< lt,= eq
>= ge,<=le,!= ne
Spring新
Nullable:注解可以使用在方法上面,属性上面,参数上面,表示方法放回可以为空,属性值可以为空.参数值可以为空