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

一、导包

需要准备的包:

  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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
04-26
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值