SSM新征程-第一个SSM
Posted qq1005801715
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSM新征程-第一个SSM相关的知识,希望对你有一定的参考价值。
第一个SSM框架下的网页应用
SSM指Spring + SpringMVC + Mybatis 整合一起进行网页开发的当下流行框架,Spring的核心是自动注入(反转控制)和切面编程,简单来说自动注入就是本来需要自己new对象,但是在spring下,它可以根据你的配置自动为你创建对象,配置方式有两种,一是xml文件配置,另一种是注解方式,简单方便。在初学过程中学习xml文件配置可以很好理解Spring的原理。切面编程可以很好的把应用的主要事务和周边事务分离开来,周边事务指的是日志之类的东西。怎么使用Spring呢?首先在一个测试类里利用ApplicationContext.xml文件生成一个ApplicationContext 容器对象 ,ApplicationContext.xml文件里包含着Spring 容器的配置信息。生成了容器之后就可以利用getBean方法获取对象了!这就是Spring的简单使用方法 SpringMVC是众多MVC模式下的流行的开发模式之一,和平时最基本的Servlet方式开发的配置文件的区别是多了一个SpringMVC.xml,SpringMVC的web.xml配置文件只有一个<servlet>的解释,告诉tomcat所有的请求都提交到dispatcher-Servlet-这个servlet里去.
而springMVC.xml文件主要是配置视图的前后路径以及分发给请求所对应的控制器等等配置,一般主要的配置都是在springMVC.xml下进行的。如果使用注解方式进行控制器的分发,只需要在SpringMVC.xml里写上
<context annotation-config/> 表明是用注解方式。再加上<context:component-scan base-package="com.how2java.controller">
表明扫描这个包里的所有类,这些都归Spring进行管理。Mybatis是一个可以大量减少重用代码的SQL管理工具,它几乎可以为我们节省95%的时间,这些在没有使用mybatis之前的时间主要都是花时间浪费在写各个pojo类的数据操作去了。主要有MyBatis-config.xml文件,这个文件记录着sql的信息比如用户名和密码,驱动路径等等和与各个pojo类待在一起的专用SQL操作xml配置文件。而在SSM整合完之后,配置文件的分布又会是不一样的。
SSM整合过程中不可获取的web.xml文件里不单单是只是告诉tomcat所有的请求都给Dispatcher-servlet处理,还包括声明Spring的配置文件信息比如路径名字等等,在SpringMVC核心:分发servlet的声明过程中也还要加入springMVC.xml的配置文件。
web处理完了接下来可以看生成Spring容器的配置文件applicationContext.xml文件了。
applicationContext.xml 的作用有 1.通过注解,将service的生命周期纳入spring的管理,由于在controller类中,要自动注入serviceimpl类,所以利用此方式完成自动注入。
- 配置数据源,在mybatis中,数据源的配置方式是写在mybatis-config.xml里的,而现在是放在了applicationContext.xml里去了。
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
</bean>
3.扫描存放sql语句的同categoryMapper类一起的category.xml。
4.扫描Mapper,纳入Spring的生命周期管理。
Applicationcontext.xml的作用基本如此,它提供的自动注入的功能很好的将mybatis框架整合在了一起。
SpringMVC.xml也是非常重要的。其作用:
1.扫描controller,将其纳入spring管理,声明为注解方式
<context:annotation-config/>
<context:component-scan base-package="com.how2java.controller">
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
2.注解驱动,以使得访问路径与方法的匹配可以通过注解配置
<mvc:annotation-driven />
3.静态页面,如html,css,js,images可以访问
<mvc:default-servlet-handler />
4.视图定位到/WEB/INF/jsp 这个目录下
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
然后就是各种和实体类Mapper一起的各种 实体.xml 文件了 ,里面都是包含着sql语句,要注意的是操作的id 必须要和mapper的方法一致,否则会出现错误。
介绍解释完了配置文件的布局和作用之后,来稍微描述一下整个响应过程:
- 在浏览器输入/listCategory,客户端请求发往服务端tomcat,tomcat根据web.xml的配置,将请求发往disparcther-servlet处理。
- Disparcther-servlet根据springMVC.xml的配置文件,将该请求交由categoryController处理,所以要完成对controller的实例化。
- 在实例化的过程当中,首先注入CategoryServiceImpl(由于CategoryServiceImpl 实现了service接口 ,而spring自动装配接口时,会寻找实现了该接口的实现类,所以在 @autoWired service 的时候,实际上自动注入的是categoryServiceImpl类)
- 在实例化CategoryImpl时又注入categoryMapper.
- 根据applicationcontext.xml的信息,将CategoryMapper和category.xml关联起来了。
- 这样就拿到了实例化的CategoryController,利用CategoryService的方法,list出Category信息,交由ModelAndView并返回该对象。
- 在返回的视图中显示Category信息。响应完成!
以上是关于SSM新征程-第一个SSM的主要内容,如果未能解决你的问题,请参考以下文章