【SSM框架】Spring + Springmvc + Mybatis 基本框架搭建集成教程


本文將講解SSM框架的基本搭建集成,並有一個簡單demo案例

說明:1、本文暫未使用maven集成,jar包需要手動導入。

   2、本文為基礎教程,大神切勿見笑。

   3、如果對您學習有幫助,歡迎各種轉載,注明出處。

   4、本文涉及源碼和jar包下載地址:

一、導包

需要准備的包:

  1、spring包

  2、springmvc 包

  3、mybatis 包

請自行下載導入,也可以去本人分享的網盤下載。

在lib目錄創建spring,mybatis分類管理,將包復制進入各自的文件夾,並加載包。

二、配置文件

創建名為:config 的Source Folder文件夾。新建xml文件,命名為:springmvc.xml

2.1springmvc.xml 配置

 

  2.1.1、加入需要的beans標簽庫(aop.tx.context.mvc)

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.1.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
    ">

 

  2.1.2、開啟掃描注解

<!-- 開啟掃描注解 -->
    <context:component-scan base-package="com.hyh.action,com.hyh.service.impl"></context:component-scan>

 備注:com.hyh.action,com.hyh.service.impl包自己創建。  

 

  2.1.3、springmvc配置

<!-- 簡化springmvc的配置 :代替了注解映射器和注解適配器 -->
    <mvc:annotation-driven/>

 

  2.1.4、實例化數據庫連接池

<!-- 實例化數據庫連接池 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="defaultAutoCommit" value="false"></property>
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8"></property>
        <property name="username" value="root"></property>
        <property name="password" value="root"></property>
    </bean>

備注:次數使用MySQL 數據庫,按實際自己配置。

 

 2.1.5、實例化SqlSessionFactoryBean

<!-- 實例化SqlSessionFactoryBean -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <!-- 加載mybatis的配置文件<property name=""></property>-->
    </bean>

 

  2.1.6、實例化事務管理器對象

<!-- 實例化事務管理器對象 -->
   <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
           <!-- 注入數據庫連接池對象 -->
           <property name="dataSource" ref="dataSource"></property>
   </bean>

 

2.1.7、聲明事務

<!-- 聲明事務:聲明需要納入事務管理的方法的特征 ,事務管理的切面-->
   <tx:advice id="txAdvice" transaction-manager="txManager">
           <tx:attributes>
               <tx:method name="save*" propagation="REQUIRED"/>
               <tx:method name="mod*" propagation="REQUIRED"/>
               <tx:method name="update*" propagation="REQUIRED"/>
               <tx:method name="del*" propagation="REQUIRED"/>
               <tx:method name="*" propagation="REQUIRED" read-only="true"/>
               
           </tx:attributes>
   </tx:advice>
 
        

 

 
        

2.1.8、織入:進行aop的配置

 <!-- 織入:進行aop的配置 -->
   <aop:config>
           <aop:pointcut expression="execution(* com.bjsxt.service.impl.*.*(..))" id="pc"/>
           <aop:advisor advice-ref="txAdvice" pointcut-ref="pc"/>
   </aop:config>

 

 

2.1.9、配置Mapper,產生接口代理

<!-- 配置mybatis,Mapper接口的掃面,產生代理Mapper接口的代理 -->
   <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
           <!-- 注入需要掃面的mapper接口的包的名字,多個包之間用逗號隔開 -->
           <property name="basePackage" value="com.bjsxt.mapper"></property>
           <!-- 注入sessionFactory,產生代理對象 -->
           <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
   </bean>

 

以上springmvc.xml完整的代碼如下:

View Code

 

三、web.xml配置

<!-- 配置sprngmvc的核心控制器 -->
  <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <!-- 在啟動web容器的時候,實例化servlet對象 -->
      <load-on-startup>1</load-on-startup>
      <init-param>
          <!-- 加載springmvc的配置文件 -->
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springmvc.xml</param-value>
      </init-param>
  </servlet>
  <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
      <url-pattern>*.do</url-pattern>
  </servlet-mapping>

 

 --------------------------------創建結束-------------------------------------

接下來是一個Demo ---------------------------------------------------------

四、創建包

  com.hyh.action

  com.hyh.mapper

  com.hyh.service

  com.hyh.service.impl

  com.hyh.entity

    1、實體類創建

      private Integer uid;

      private String uname;

      private String address;

package com.hyh.entity;

public class Users {
    private Integer uid;
    private String uname;
    private String address;

 

    2、Mapper接口創建

      saveusers(Users user);

package com.hyh.mapper;

import com.hyh.entity.Users;

public interface UsersMapper {
    public void saveusers(Users user);
}

 

    3、創建Mapper.xml文件

        namespace:完全限定名一致

        id:方法名一致;

        parameterType:類名限定名;

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper>
    
    <!-- 定義數據庫的增加操作 -->
    <insert id="saveUsers" parameterType="com.hyh.entity.Users">
        insert into users (uid,uname.address) values (null,#{uname},#{address})
    </insert>
    <!-- 其他模塊操作 -->
    
</mapper>

 

    4、service接口創建

      saveUserService

package com.hyh.service;

import com.hyh.entity.Users;

public interface UsersService {
    public void saveUsersService(Users user);
}

 

    5、service接口實現類

      納入容器 @Service("service")

      注入:@Resource

      創建接口屬性

@Service("userServiceImpl")
public class UsersServiceImpl implements UsersService {

    @Resource
    private UsersMapper usersMapper;

    public void saveUsersService(Users user) {
        // TODO Auto-generated method stub
        usersMapper.saveusers(user);
    }
}

 

    6、action Handler類創建

       @ConTroller

        聲明:@Resource

        @RequestMapping("方法名保持一致")

@Controller("usersHandler")
public class UsersHandler {
    @Resource(name = "usersServiceImpl")
    private UsersService usersServiceImpl;

    @RequestMapping("/saveUsers")
    public String saveUsers(Users user) {
        usersServiceImpl.saveUsersService(user);
        return "success.jsp";
    }
}

 

     7、前台UI創建

         

(未完待續)附加知識:

五、攔截器配置  

  MyHandlerIntercepor.java

  

      

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM