这周主要复习了一下Spring相关的一些内容,这里做一篇总结。
首先是针对MVC框架的优化。不论是数据层,服务层,还是控制层,除了原生的编码之外,都追加了各种框架,方便代码的快速开发。
其中数据层利用了Myabatis,后续又升级到了MybatisPlus,服务层是Spring本身,控制层用到了SpringMvc。
Spring本身采用了Ioc的思想,保证在类当中没有硬编码,所有需要使用的具体对象,全都靠框架来提供(相应的Bean)。最开始学习时,使用xml坐标来注入,要注入的类需要有setter方法,否则无法注入。
随后有了注解开发方法,原来的xml配置文件,变成了配置类,所有本地生成的Bean被汇总到了Config类当中(服务层到SpringConfig,表现层到SpringMvcConfig上)。如果是第三方的依赖,需要生成bean的时候,可以单独新建一个Config类,然后用静态方法,获取Bean。或者直接在对应的配置类当中,编写静态方法。
SpringMvc在Spring的基础上,添加了对于路由的管理,可以让controller获取请求的数据,并返回对应的response。
本质上,SpringMvc就是构建了一个Servlet,然后通过配置拦截路径,让服务器决定哪些请求由SpringMvc来处理。
这里还学习了Restful的书写规范,通过GET,POST,PUT,DELETE与url结合,可以把CRUD四种需求都表示清楚。
在与SpringMvc搭配的时候,需要注意几点。首先是明确参数获取的途径。如果是请求头中的参数,之间就可以传递到方法参数中。如果是请求体当中的,就需要加上@RequestBody的注解。另外,如果是url路径当中的变量,需要用@PathVariable来引导进具体的参数中。
Mybatis的基本配置上次已经总结,这里总结一下常用的crud指令
新增:int insert(T t)
删除:int deleteById(Serializable id)
修改:int updateById(T t)
id查询:T selectById(Serializable id)
查询全部:List<T> selectList()
查一个:T selectOne()
分页查询:IPage<T> selectPage(IPage<T> page)
条件查询:IPage<T> selectPage(Wrapper<T> queryWrapper)
以上是,这周复习的总结。