SSM: SpringMVC+Spring+MyBatis.

SpringMVC:视图层,界面层,负责接受请求,显示处理结果的。

Spring:业务层,管理service,dao,工具类对象。

MyBatis:持久层,访问数据库

用户发起请求–SpringMVC接受–Spring的Service对象–MyBatis处理数据

1.第一个容器SpringMVC容器,管理Controller控制器对象的。

2.第二个容器,管理Service,dao,工具类对象的

把Controller还有web开发的相关对象交给springmvc容器

把service,dao对象定义在spring的配置文件中、

实现步骤

1.新建mven web项目

2.加入需要的依赖(springmvc,spring,mybatis三个框架的依赖,jackson依赖,mysql驱动,druid连接池

3.写web.xml

1)注册DispatcherServlet,目的:1.创建springmvc容器对象,才能创建Controller类对象。

2.创建的是Servlet,才能接受用户请求

2)注册spring的监听器:ContextLoaderListener,目的:创建spring的容器对象,才能创建service的容器对象,才能创建service,dao对象

3)注册字符集过滤器,解决post请求乱码的问题

4.创建包,Controller包,service,dao,daomain/po,util

5.写SpringMVC,Spring,mybatis的配置文件

1)SpringMVC配置文件

2)Spring配置文件

3)mybatis的配置文件

4)数据库的属性配置文件

springmvc配置文件 :dispatcherServlet.xml
<!-- springmvc配置文件,声明controller和其他web相关的对象 -->

<context:component-scan base-package="com.note.controller" />

 

<!-- 配置视图解析器 -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

  <property name="prefix" value="/WEB-INF/jsp" />

  <property name="suffix" value=".jsp" />

</bean>

 

<!-- 1.相应ajax请求,返回json,2.解决静态资源访问资源 -->

<mvc:annotation-driven />
spring配置文件:applicationContext.xml
<!-- 编写数据库信息的独立文件 -->
<context:property-placeholder location="classpath:jdbc.properties" />

<!-- 生明数据源DataSource,作用是连接数据库的 -->
<bean id="myDataSource" class="com.alibaba.druid.pool.DruidDataSource"
      init-method="init" destroy-method="close">
    <!-- set注入给DruidDataSource提供连接数据库的信息 -->
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.user}" />
    <property name="password" value="${jdbc.ps}" />
    <property name="maxActive" value="${jdbc.max}" />
</bean>

 <!-- 声明的是mybatis中提供的SqlSessionFactoryBean类,这个类内部创建sqlSessionFactory的 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- set注入,把数据库连接池交给了dataSource属性 -->
    <property name="dataSource" ref="myDataSource" />
    <!-- mybatis主配置文件的位置
        configLocation属性是Resource类型,读取配置文件
        它的赋值,使用value,指定文件的路径,使用Classpath:表示文件的位置
    -->
    <property name="configLocation" value="classpath:mybatis.xml" />

</bean>

<!-- 声明mybatis的扫描器,创建dao对象 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
    <property name="basePackage" value="com.note.dao" />
</bean>

<!-- 声明service的注解@Service所在的包名位置 -->
<context:component-scan base-package="com.note.service" />
mybatis配置文件 :mybatis.xml
<configuration>
    <!-- 设置别名 -->
    <typeAliases>
        <!--name:实体类所在的包名 -->
        <package name="com.note.po"/>
    </typeAliases>

    <!-- sql mapper(sql映射文件)的位置-->
    <mappers>
        <!-- name: 是包名,这个包中多有的mapper.xml一次都能加载 -->
        <!-- 使用package要求:
            1.mapper的文件名称和dao接口名必须完全相同,包括大小写
            2.mapper的文件名称和dao接口必须在同一目录
        -->
        <package name="com.note.dao"/>
    </mappers>
</configuration>
文章作者: 郭远
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 郭远的博客空间
SpringMVC SpringMVC
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝