Controller层
-
@Controller
:与@Component
一样声明为Spring的Bean,同时标志为Spring的Controller类。 -
@ResponseBody
:不经过视图处理器,直接将Java对象转换为json数据输出到前端 -
@RestController
:@Controller
和@ResponseBody
的功能混合 -
@RequestBody
: 一般Post请求使用-
将HTTP输入流中的数据装配到目标类中,会根据json字符串中的key来匹配对应实体类的属性,如果匹配一致且json中的该key对应的值符合,则会调用用实体类的setter方法赋值。
-
json中,如果key对应的value为“ ”的话,实体类属性为String,则为“ ”,如果是Integer、Doublie属性的话,为null
-
-
@PathVariable
: 用于请求中的占位符映射 -
@RequestParam
: 将请求参数绑定到方法参数上-
value:参数名
required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。
defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值
-
-
@ModelAttribute
-
在方法上 添加注解,会在 所有带有
@RequestMapping
注解的方法前先执行。 -
在参数上,从Model中获取对应的值映射到 形参中。
-
在方法上和
@RequestMapping
同时使用的话,返回的值会加入到Model中,而跳转的页面则为@RequestMapping
注解的值。
-
-
@RequestMapping
:映射请求路径-
value和path:指定请求地址
-
method:指定请求方法
-
consumes: 指定处理请求的提交内容类型(Content-Type)
-
produces: 指定返回的内容类型
-
params: 指定request中必须包含某些参数值是,才让该方法处理
-
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求
-
Service层
-
@Service
:标注为业务层 -
@Transactional
: 事务
实体类
-
@Entity
:指定实体类 -
@Table
:指定实体 类映射 的数据库表-
name:数据库表名
-
catalog: 表的目录
-
schema:数据库名称
-
uniqueConstraints:表上字段的唯一性约束,UniqueConstraint[]
-
indexes:表的索引
-
-
@Id
:指定对应数据库表 中主键的实体类属性 -
@GeneratedValue
:主键的生产策略-
strategy:组件生产策略
-
generator:声明了主键生成器的名称
-
-
@SequenceGenerator
:一般用于Oracle数据库中,@GeneratedValue
注解的strategy属性值为:GenerationType.SEQUENCE-
name:唯一生成器名称,被
@GeneratedValue
中的generator属性引用 -
sequenceName:实体标识所使用的数据库序列号的名称
-
initialValue:序列 对象 初始化 的 值
-
allocationSize:从序列中分配序列号时要增加的数量
-
-
@GenericGenerator
:自定义主键生成策略-
name: 指定生成器名称
-
strategy:指定具体生成器的类名
-
parameters: 得到strategy指定的具体生成器所用到的参数
-
-
@Column
:指定实体类中的属性与数据库中字段的映射-
name:数据库中列的名称
-
unique:是否是唯一键
-
nullable:能否为null
-
insertable:在用INSERT插入语句时是否插入该字段的值
-
updatable:使用UPDATE更新数据时,是否更新该数据的值
-
columnDefinition:创建表时,生成SQL语句 的字段
-
table:表名
-
length:字段的长度
-
precision:表示精度,当字段类型为Double时,表示数值的 总长度
-
scale:表示精度,当字段类型为Double时,表示小数点所占的位数
-
-
@Temporal
:帮助Java的Date类型进行 格式化 ,便于映射到数据库 -
@ManyToOne
:体现实体类中多对一的映射关系-
targetEntity:作为关联目标的实体类
-
cascade:级联到关联目标的操作
-
fetch:级联的加载方式
-
optional:是否级联
-
-
@ManyToMany
:体现实体类多对多的映射关系-
targetEntity:作为关联目标的实体类
-
fetch:级联的加载方式
-
cascade:级联到关联目标的操作
-
mappedBy:拥有关系的属性
-
-
@OneToMany
:体现实体类中 一对多的映射关系-
targetEntity:作为关联目标的实体类
-
mappedBy:拥有关系的属性
-
cascade:级联到关联目标的操作
-
fetch:级联的加载方式
-
orphanRemoval:是否将删除操作应用于具有级联关系 的实体中
-
-
@OneToOne
:体现实体类中一对一的映射关系-
targetEntity:作为关联目标的实体类
-
mappedBy:拥有关系的属性
-
cascade:级联到关联目标的操作
-
fetch:级联的加载方式
-
orphanRemoval:是否将删除操作应用于具有级联关系 的实体中
-
optional:是否关联
-
-
@Transient
:注解的属性不会被序列化
其它:
-
@AliasFor
:-
继承注解的功能
-
为注解属性显性别名
-
为元注解显性别名
-
注解中的隐性别名
-