感觉对JavaWeb的基础有了大体的了解,开始接触SSM,说实话,刚开始 我还以为最火的框架是SSH,后来知道 是SSM,又以为是struts、Spring、MyBatis,现在才知道应该是:Spring、SpringMVC、MyBatis,正式开始学习框架了,有感觉好复杂,直接用Servlet、Service、Dao,难道不能解决问题嘛?不过既然流行必有其道理,只有学完之后才知道。
Spring: applicationContext.xml LoggerAspect.java
IOC : Spring------》TestApring.java-------》通过ClassPathSmlPathXmlApplicationContext读取applicationContext.xml拿到context,通过context的getBean方法获得一个对象。称为控制反转。
AOP:Spring------》TestApring.java-------》通过ClassPathSmlPathXmlApplicationContext读取applicationContext.xml拿到context,applicationContext中配置了切面LoggerAspect和切点pointCut,context调用业务方法时,触发切面方法执行。
SpringMVC:
MyBatis的实现流程:
成型的SSM框架小项目:http://how2j.cn/k/ssm/ssm-tutorial/1137.html?tid=77#nowhere
今天跟着流程实现了两次,还不是太明白,借此机会梳理下自己对整体的理解,帮助自己学习。
这个项目的流程:
步骤 1 : 数据库
步骤 2 : 创建表
步骤 3 : 准备数据
步骤 4 : JDK版本
步骤 5 : 先运行,再学习
步骤 6 : 新建项目
步骤 7 : 导入jar包
步骤 8 : pojo
步骤 9 : CategoryMapper
步骤 10 : Category.xml
步骤 11 : CategoryService
步骤 12 : CategoryServiceImpl
步骤 13 : CategoryController
步骤 14 : web.xml
步骤 15 : applicationContext.xml
步骤 16 : springMVC.xml
步骤 17 : listCategory.jsp
步骤 18 : 部署在tomcat中,重启测试
步骤 19 : 思路图
步骤 20 : 删掉,从头开始,这次全部自己做
第一部分:创建数据库,表,插入测试数据,新建项目,导包。
第二部分:pojo:也就是平时的bean类,
CategoryMapper :接口,有6个操作数据库的方法,涉及增删改查等。
Category.xml :配置文件,搭配CategoryMapper,实现数据库的操作。
以上两个文件,用来完成 数据库操作,也是底层操作,类似于Dao层。
CategorySevice:接口,有一个抽象方法,用来装载从数据库查询出的数据。
CategoryServiceImpl:类,实现了CategoryService接口,并重写了其方法,完成功能,调用了CategoryMapper中的方法。
以上两个文件用来接受servlet的调用,并调用Dao完成操作,类似于Service层。
CategoryController :控制器类,装配了categoryService,调用Service层的方法,完成数据库的操作。
封装service返回的数据,通过@RequestMapping映射访问路径/listCategory路径到方法listCategory()。类似于Servlet层。
web.xml:通过ContextLoaderListener在应用启动时,获取contextConfigLocation配置文件的文件applicationContext.xml,初始化Spring。拦截访问,使用DispatcherServlet处理(使用SpringMVC)。
applicationContext.xml:1、注解将service的生命周期纳入Spring管理
2、配置数据源
3、扫描存放SQL语句的Category.xml
4、 扫描Mapper,并将生命周期纳入Spring管理
applicationContext主要用于配置Spring,而操作多与Dao,service有关,所以我理解为 applicaitonContext用来配置service、Dao。
springMVC.xml:1、扫描Controller,并将其生命周期纳入spring管理
2、注解驱动,以使的访问路径与方法的匹配可以通过注解配置
3、静态页面,如html、css、js、可以访问
4、视图定位到/WEB-INF/jsp这个目录下
springMVC多涉及controller,视图,所以我以为 springMVC用来配置 servlet、jsp(view)。
listCategory.jsp:在这个jsp中,通过forEach标签,遍历CategoryController传递过来的集合数据,显示。
SSM的实现思路:
1. 首先浏览器上访问路径 /listCategory
2. tomcat根据web.xml上的配置信息,拦截到了/listCategory,并将其交由DispatcherServlet处理。
3. DispatcherServlet 根据springMVC的配置,将这次请求交由CategoryController类进行处理,所以需要进行这个类的实例化
4. 在实例化CategoryController的时候,注入CategoryServiceImpl。 (自动装配实现了CategoryService接口的的实例,只有CategoryServiceImpl实现了CategoryService接口,所以就会注入CategoryServiceImpl)
5. 在实例化CategoryServiceImpl的时候,又注入CategoryMapper
6. 根据ApplicationContext.xml中的配置信息,将CategoryMapper和Category.xml关联起来了。
7. 这样拿到了实例化好了的CategoryController,并调用listCategory方法
8. 在listCategory方法中,访问CategoryService,并获取数据,并把数据放在"cs"上,接着服务端跳转到listCategory.jsp去
9. 最后在listCategory.jsp 中显示数据
多数内容来自于:http://how2j.cn/k/ssm/ssm-tutorial/1137.html?tid=77#nowhere
2018-2-9 17:06