用ssm(Springmvc、Spring、Mybaits)框架开发项目的流程
作者:互联网
一、了解什么是ssm框架?
指的是Spring、SpringMVC和Mybaits三个框架组合在一起,相互之间共同协作的框架。
Spring,是一个开发企业级应用的开源框架,常说是程序员的春天,因为他的出现,大大简化了程序员在项目开发当中的很多繁琐的细节,使得程序员能够花费更多的精力在程序的设计之上。主要由Spring Core、Spring AOP、Spring Web MVC、SpringDAO、SpringORM、Spring Context、Spring Web七大模块组成。
其中Spring IOC容器和Spring AOP是两大核心。
1.Spring IOC容器,叫做控制反转,其实Spring IOC只是一个思想,具体的实现由他下面的Spring DI完成。【控制反转的理解:这里会涉及到工厂模式,例如,原来有一个人的这个对象想要吃一个炸鸡汉堡,他得去想创建一个炸鸡汉堡的这个对象才能吃到;而现在有了Spring之后,你不需要自己再去创建这个炸鸡汉堡的对象了,当你想吃的时候由Spring工厂创建之后丢给你。前后之间的角色反转了,你以前是主动创建一个炸鸡汉堡对象之后再吃,现在是被动的,SpringIOC容器给你创建炸鸡汉堡对象丢给你吃】,这就是Spring的好处之一解耦
2.Spring AOP面向切面的开发,【面向切面开发理解:以前想要解决程序的代码冗余,提高编写代码质量和代码的复用,出现了java继承(java继承是类级别的操作);但是,假如现在我的每一个方法方法里面都有一段重复的,执行相同操作的代码,每个方法都写一遍,代码不仅冗余,代码质量也不高,而要解决这一问题,显然继承就不能够完成我们的需求,因此产生了Spring AOP,我们要想使用的时候只需在调用这个方法时,使用Spring AOP技术切就行了;具体实现,可在引用JUnit测试框架下面使用 @Before在…之前切,@After在…会后切,@Round在…周围切(在之前和在之后切)】
SpringMVC,前后端交互的框架,代替之前的servlet,底层是对servlet进行了封装
Mybaits(手动的/半自动,要写大量SQL语句,灵活,便于优化),持久层框架,与之相对应的还有Hibernate(关系型映射框架全自动的,移植性比Mybaits高)框架 ,底层对JDBC进行了封装,对数据库进行CRUD一系列操作。【持久层框架理解:先了解一个概念,数据的持久性保存有两种方式,一种是保存在文件,另一种是保存在数据库(其实,数据库底层也是文件);而使用Mybaits框架就是对数据在数据库的保存,所以叫做持久层框架】
二、开发流程
1.创建项目
static文件(前端代码Element UI + Vue暂不详细阐述)
实体层 entity
前后台交互控制层controller
数据库访问层mapper
业务层service
json对象(返回给前端的统一包装对象,js的内置对象,js接收到这个对象时会去渲染前端页面)
辅助类Util
2.pom.xml文件依赖注入
Spring-webmvc
mybaits
mybaits-Spring
jackson-databind
mysql
lombok
druid
spring-orm
junit
等
3. 数据源配置,dataSource.configration
URL,root,password,driveClassName
4. Mapper.xml文件配置
数据库访问接口mapper
实体类别名
对象属性与数据库字段映射(相同可以不用写)
CRUD的SQL语句设计编写
5. SpringMVC .xml文件配置(底层含有Filter和Listenner)
扫描,拦截@Conponent,@Service,@Controller,@RestController(@Controller+@ResponseBody),@Repostory等注解的类
6. Spring和Mybaits的.xml文件配置
扫描带有@…的类(自己想要扫描的注解),注入到IOC容器中,被Spring管起来
读取数据源dataSource.configration路径
配置数据源
sqlSessionFactory工厂配置
辅助配置(利用工厂创建sessionFactory对象利用反射机制对mapper接口进行实例化,再操作数据库)
事务配置Transaction
事务提交(主动提交)
7 . 程序设计及其代码的编写
8. 测试和调试
9. 项目完成打包
标签:框架,Springmvc,Spring,数据库,炸鸡,ssm,对象,Mybaits 来源: https://blog.csdn.net/qq_51523569/article/details/112169632