13397158231   jevian_ma@worldflying.cn

使用eclipse搭建spring+springmvc+mybatis开发框架

2017-08-27 10:00:00

在经过了长期的spring+struts+hibernate框架与spring+springmvc+mybatis框架的竞争之后,spring+springmvc+mybatis框架(下面统一简称为ssm框架)渐渐的得到了大家的认可,并且渐渐的成为了java web开发的主流框架。

小沃曾经有一段时间特别依赖myeclipse,因为他集成了ssm框架,搭建难度比使用eclipse低很多。但是小沃在研发过程中,渐渐的发现使用myeclipse的一些问题,如jar包版本老,配置并不灵活,myeclipse本身收费,企业使用会有版权风险等问题。考虑到这些,也为了后期的案子我们能有更加灵活的开发空间,小沃开始尝试使用eclipse搭建ssm框架。

下面,小沃就来介绍一下这几天的研究成果,如何通过eclipse搭建ssm框架 。

一、建立相关的工程

这里我们使用eclipse建立Dynamic Web Project,也就是动态web工程,因为java web属于动态web。

武汉app开发

二、下载相关的jar文件。

这里需要利用到上一节课我们用到的知识点,使用gradle下载jar文件,具体方法请看上一篇文章。

1.建立gradle.build文件

文件内容如下:

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    compile "org.springframework:spring-webmvc:+"
    compile "org.springframework:spring-jdbc:+"
    compile "mysql:mysql-connector-java:8.0.7-dmr"
    compile "org.mybatis:mybatis:+"
    compile "org.mybatis:mybatis-spring:+"
    compile "taglibs:standard:+"
    compile "jstl:jstl:+"
    compile "org.apache.tomcat:tomcat-jdbc:+"
}

task copyJars(type: Copy) {
    from configurations.runtime
    into 'dist'
}

稍微给大家解释一下:

spring-webmvc.jar是spring-mvc的基础jar文件。

spring-jdbc.jar是spring的数据库基础文件,只有有了它才能使用spring的方法操作jdbc。

mysql-connector-java.jar是java操作mysql的驱动程序,只有有了它才能通过java的jdbc访问mysql。

mybatis.jar是mybatis的基础类。

mybatis-spring.jar是mybatis对spring的支持类。

standard.jar与jstl.jar是jsp所使用的模板标签支持类。

tomcat-jdbc.jar是tomcat的数据库连接池类。

当我们运行gradle copyJars后,会下载下来几十个jar文件,其中不少是spring的相关依赖文件,依赖文件的下载交给gradle去完成吧。

三、导入jar文件

将我们下载好的jar文件全部拖入/WebContent/WEB-INF/lib/下的文件夹中,这样就自动导入完成了。

武汉app开发

四、编辑web.xml文件

打开/WebContent/WEB-INF/web.xml,在最下面追加如下内容:

  <servlet>
	<servlet-name>spring</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<!-- 配置Spring mvc下的配置文件的位置和名称 -->
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/spring-mvc.xml</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
	<servlet-name>spring</servlet-name>
	<url-pattern>*.shtml</url-pattern>
  </servlet-mapping>

其中servlet-name可以任意修改,但是两个servlet-name必须一致。

/WEB-INF/spring-mvc.xml是其spring-mvc的配置文件,可以修改,只要路径一致即可。

*.shtml是指定过滤器,伪静态的后缀名。

五、编写spring-mvc.xml文件

打开/WebContent/WEB-INF/web.xml,输入如下内容:

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

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

	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name = "prefix" value="/WEB-INF/views/show.jsp"></property>
		<property name = "suffix" value = ".jsp"></property>
	</bean>

    <!-- MyBatis配置 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
		<property name="mapperLocations" value="/WEB-INF/mapper.xml" />
    </bean>

    <!-- 扫描basePackage接口 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    	<!-- 映射器接口文件的包路径, -->
        <property name="basePackage" value="com.jevian.dao" />
    </bean>

    <!-- 数据源配置, 使用Tomcat JDBC连接池 -->
    <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
        <!-- Connection Info -->
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/elecmanager?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true&amp;allowMultiQueries=true&amp;serverTimezone=GMT" />
        <property name="username" value="root" />
        <property name="password" value="root" />

        <!-- Connection Pooling Info -->
        <property name="maxActive" value="190" />
        <property name="maxIdle" value="20" />
        <property name="minIdle" value="0" />
        <property name="defaultAutoCommit" value="false" />
    </bean>
</beans>

其中<context:component-scan base-package="com.jevian.controller" />是指定springmvc的路由所使用包名。

<property name = "prefix" value="/WEB-INF/views/"></property>与<property name = "suffix" value = ".jsp"></property>是用于组合成jsp文件路径的语句,可以在这里指定jsp文件的存放路径。

<property name="mapperLocations" value="/WEB-INF/mapper.xml" />是用于指定mybatis中,用于定于sql语句的xml文件。

<property name="basePackage" value="com.jevian.dao" />是用于指定能够访问mybatis数据库的包名。

剩下的是用于定义jdbc连接池的一些参数。

六、编写mapper.xml文件

打开/WEB-INF/mapper.xml文件,输入如下内容:

<?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 namespace="com.jevian.dao.Dao">
	<select id="ShowUser" resultType="int">
		select count(*) from `user` where `ID`=1
	</select>
</mapper>

这里只是一个例子,定义一个mapper用于执行select语言。

七、写对应controller文件。

新建一个class,包名定义为com.jevian.controller,可修改,但是必须与xml中定义的一致。

然后写入如下内容:

package com.jevian.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class IndexController {

	@RequestMapping("hello")
	public String hello(Model model) {
		return "show";
	}
}

上述代码会将一个hello.shtml路由到这里,然后显示/WEB-INF/views/show.jsp的内容并返回给前端web页面。

八、写对应dao文件

新建一个interface,包名填写com.jevian.dao,可修改,但是必须与xml中定义的一致。

然后写入如下内容:

package com.jevian.dao;

import org.springframework.stereotype.Repository;

@Repository
public interface Dao {
	public int ShowUser();
}

其中ShowUser就是mybatis定义的mapping的id。


至此,java web的ssm框架就搭建成功了。







优秀产品推荐:可编程网络IO控制器

上一篇:比maven更好用的工程软件------gradle

下一篇:如何利用html5技术实现自拍

联系我们

  • 地址:武汉市东湖高新开发区光谷总部国际1栋2412室
  • QQ:932773931
  • 电话:027-59761089-806
  • 手机:13397158231
  • 邮箱:jevian_ma@worldflying.cn

关注公众号

扫码添加微信

沃航(武汉)科技有限公司版权所有

备案号:鄂ICP备16014230号-1

本网站由提供CDN加速/云存储服务