Spring 注解
@Primary 当IOC 容器发现多个同样类型的Bean时,优先注入这个注解标识的Bean
@Qualifier 相当于给Bean定义了唯一标识,便于IOC 注入
@Value ${…} 读取配置文件中的值
@Condition 装配前的判断状态
@Profile
对应有Profile机制,以下两个配置项没有设置值时,被@Profile标注的类不会被加载到容器当中。
spring.profiles.active>spring.profiles.default 优先级
@DeclareParents 引入新类增强服务
value:目标对象
defaultImpl:引入增强功能的类
Bean作用域
singleton 默认值,IoC只存在单例
prototype 每次都初始化一个新的Bean
Spring 事务隔离级别
未提交读
允许一个事务去读取另一个事务没有提交的数据。
缺点: 脏读 不可重复读 幻读
读写提交
一个事务只能读取另一个事务已经提交的数据,不能读取未提交的数据
缺点: 不可重复读 幻读
可重复读
缺点: 幻读
串行化
所有SQL 按顺序执行
支持
MySQL 支持4种事务 默认事务:可重复读
Oracle 支持 读写提交和串行化 默认事务:读写提交
Spring MVC 注解
@RequestParam 构建请求参数与方法参数映射关系,默认是不能为空
value 请求参数
required false 可为空
@RequestBody 请求是JSON数据
@DateTimeFormat 针对时间格式化
不使用该注解,也可在application.properties 加如下配置:
spring.mvc.date-format=yyyy-MM-dd
@NumberFormat 针对数字格式化
JSR-303 验证
@NotNull 不能为空
@Future 只能是将来的日期
@DateTimeFormat(pattern=”yyyy-MM-dd”)
@Past 只能是过去的日期
@DecimalMin 最小值 Double
@DecimalMax 最大值 Double
@Min 最小值 Integer
@Max 最大值 Integer
@Range(min=1,max=99,message=”范围为1至99”) 限定范围
@Email 邮箱格式校验
@Size(min=20,max=30) String 字符串长度20-30
注:接收参数用@Valid 验证,
并添加参数 Errors errors
用if(errors.hasErrors()) 做判断