spring mvc
M:model 模型
V:view 视图
C:controller 控制器
S: service 服务处理
D: Dao 数据持久化
视图
我理解就是web页面,帮助用户调用后端接口。
前后端分离之后,view似乎就和后端没什么关系了。
模型
格式化的数据。可以用于响应,也可以用于层与层之间传递数据。
控制器
后端接口处理器,处理某个接口的请求。选择调用的service处理,结果封装好返回给用户.
对应的spring里的注解
@RestController
@RequestMapping(path = "/")
public class hhhController {@GetMapping(path = "/")public String helloworld() {return "helloworld";}
}
Service
处理业务逻辑,调用Dao层持久化,处理结果返回给Controller。
Dao
处理持久化数据,这里的Model类似POJO,和数据库内的字段一一对应。
常规玩法是写一个mapper接口定义操作数据库的几个方法,对饮写一个xml定义每个方法执行的sql语句。组合成bean。
使用@Mapper注解要定义成一个接口interface
作用:
1.使用@Mapper将testMapper接口交给Spring进行管理
2.不用写Mapper映射文件(XML)
3.为这个testMapper接口生成一个实现类,让别的类进行引用
@Mapper
public interface testMapper {@Update("CREATE TABLE a\n" +" (\n" +" id bigint(20) NOT NULL AUTO_INCREMENT,\n" +" createTime date not null;\n" +" PRIMARY KEY (id)")void createTable();
}
Configuration
给一个类标注上Configuration 与 spring xml 是相同作用,组装bean的。
@Configuration
注解类,@Bean
注解方法,这个方法只会运行一次,在类里其他方法的调用就相当于其他bean持有这个bean。
@Configuration
public class AppConfig {@Beanpublic String helloworld() {return "helloworld";}
}
码文不易,希望支持,谢谢->支持原创