1. 程式人生 > >使用IDEA和gradle搭建Spring MVC和MyBatis開發環境

使用IDEA和gradle搭建Spring MVC和MyBatis開發環境

1. 概述

Gradle是一個基於Apache Ant和Apache Maven概念的專案自動化建構工具。 它使用一種基於Groovy的特定領域語言(DSL)來宣告專案設定,拋棄了基於XML的各種繁瑣配置。

Spring MVC屬於SpringFrameWork的後續產品,已經融合 在Spring Web Flow裡面。Spring 框架提供了構建 Web 應用程式的全功能 MVC 模組。

MyBatis本是apache的一個開源專案iBatis, 2010年這個專案 由apache software foundation 遷移到了google code,並且改名為MyBatis 。 2013年11月遷移到Github。

2. 準備工作

1.安裝mysql,並完成相應資料庫的建立

2.安裝IDEA完整版

3.下載tomcat或其他伺服器

3. 建立工程

開啟IDEA軟體,選擇Create New Project:

選擇建立基於gradle的java web專案:

輸入GroupId和ArtifactId:

選擇gradle的來源,可以用自己下載的gradle,也可以使用IDEA內建的gradle版本:

選擇專案的目錄:

點選完成,會生成一個最基本的java web目錄,增加資料夾和相應檔案,將其目錄結構改為以下結構:

其中resources目錄中的config資料夾中的檔案和WEB-INF資料夾下的web.xml, 以及build.gradle都是自己進行配置的。

配置檔案

1. generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <classPathEntry location="${jarDirection}"/>

    <context id="mysql" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="${driverClass}"
                        connectionURL="${connectionURL}"
                        userId="${userId}"
                        password="${password}">
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <javaModelGenerator
        targetPackage="${modelPackage}"
        targetProject="${src_main_java}">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <sqlMapGenerator
        targetPackage="${sqlMapperPackage}"  
        targetProject="${src_main_java}">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER"
        targetPackage="${mapperPackage}"  
        targetProject="${src_main_java}">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- 每一個數據庫表都需要建立一個對應的table欄位 -->
        <table schema="test" tableName="user" domainObjectName="User" >
            <!-- <property name="useActualColumnNames" value="true"/>
            <generatedKey column="ID" sqlStatement="DB2" identity="true" />
            <columnOverride column="DATE_FIELD" property="startDate" />
            <ignoreColumn column="FRED" />
            <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" /> -->
        </table>

    </context>
</generatorConfiguration>
2. gradle.properties
# 生成的model類所在包
modelPackage=cn.edu.bupt.wen.model
# 生成的mapper介面類所在包
mapperPackage=cn.edu.bupt.wen.mapper
# 生成的mapper xml檔案所在包
sqlMapperPackage=cn.edu.bupt.wen.mybatis_mapper
3. jdbc-mysql.properties
# 將jdbc.jarDirection後的內容更改為gradle下載的
# mysql-connector-java-5.1.x.jar所在的路徑,gradle自動下載的路徑如下所示
jdbc.jarDirection=/Users/wenzhiquan/.gradle/caches/modules-2/files-2.1/mysql
/mysql-connector-java/5.1.38/dbbd7cd309ce167ec8367de4e41c63c2c8593cc5
/mysql-connector-java-5.1.38.jar
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/bookbest
jdbc.user=root
jdbc.pass=root
4. spring-mvc.xml
<?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: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.xsd
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!-- 自動掃描控制器 -->
    <context:component-scan base-package="cn.edu.bupt.wen"/>
    <!-- 檢視渲染 -->
    <bean id="internalResourceViewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    <!-- 控制器對映器和控制器介面卡 -->
    <mvc:annotation-driven></mvc:annotation-driven>
    <!-- 靜態資源對映器 -->
    <mvc:resources mapping="/statics/**" location="/WEB-INF/statics/" />
</beans>
5. web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
		  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">

    <servlet>
        <servlet-name>index-dispather</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:config/spring/spring-mvc.xml</param-value>
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>index-dispather</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>
6. build.gradle
group 'cn.edu.bupt.wen'
version '1.0-SNAPSHOT'

apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'idea'

sourceCompatibility = 1.5

repositories {
    mavenCentral()
}

configurations {
    mybatisGenerator
}

// 讀取config資料夾中對應的配置檔案
ext{
    def prop = new Properties();
    file("src/main/resources/config/mybatis/jdbc-mysql.properties")
    .withInputStream {
        prop.load(it)
    }
    file("src/main/resources/config/mybatis/gradle.properties")
    .withInputStream {
        prop.load(it)
    }
    prop.each {
        project.extensions.add("$it.key",it.value);
    }
}

// 配置gradle的依賴項
dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.3.11'
    compile 'jstl:jstl:1.2'
    compile 'org.springframework:spring-aop:4.2.4.RELEASE'
    compile 'org.springframework:spring-context:4.2.4.RELEASE'
    compile 'org.springframework:spring-beans:4.2.4.RELEASE'
    compile 'org.springframework:spring-web:4.2.4.RELEASE'
    compile 'org.springframework:spring-webmvc:4.2.4.RELEASE'
    compile 'org.springframework:spring-tx:4.2.4.RELEASE'
    compile 'org.springframework:spring-jdbc:4.2.4.RELEASE'
    compile 'org.springframework:spring-test:4.2.4.RELEASE'
    compile 'mysql:mysql-connector-java:5.1.38'
    compile 'org.mybatis.generator:mybatis-generator-core:1.3.2'
    compile 'org.mybatis:mybatis-spring:1.2.3'
    compile 'org.mybatis:mybatis:3.3.0'
    compile 'junit:junit:4.12'


    mybatisGenerator 'org.mybatis.generator:mybatis-generator-core:1.3.2'
    mybatisGenerator 'mysql:mysql-connector-java:5.1.38'

    testCompile group: 'junit', name: 'junit', version: '4.11'
}

// 利用ant建立一個自動生成MyBatis目錄檔案的task
task mybatisGenerate << {
    ant.properties['targetProject'] = projectDir.path
    ant.properties['jarDirection'] = project['jdbc.jarDirection']
    ant.properties['driverClass'] = project['jdbc.driverClassName']
    ant.properties['connectionURL'] = project['jdbc.url']
    ant.properties['userId'] = project['jdbc.user']
    ant.properties['password'] = project['jdbc.pass']
    ant.properties['src_main_java'] = sourceSets.main.java.srcDirs[0].path
    ant.properties['src_main_resources'] = sourceSets.main.resources.srcDirs[0].path
    ant.properties['modelPackage'] = project['modelPackage']
    ant.properties['mapperPackage'] = project['mapperPackage']
    ant.properties['sqlMapperPackage'] = project['sqlMapperPackage']

    ant.taskdef(
            name: 'mbgenerator',
            classname: 'org.mybatis.generator.ant.GeneratorAntTask',
            classpath: configurations.mybatisGenerator.asPath
    )

    ant.mbgenerator(overwrite: true,
            configfile: 'src/main/resources/config/mybatis/generatorConfig.xml',
            verbose: true) {
        propertyset {
            propertyref(name: 'targetProject')
            propertyref(name: 'jarDirection')
            propertyref(name: 'userId')
            propertyref(name: 'driverClass')
            propertyref(name: 'connectionURL')
            propertyref(name: 'password')
            propertyref(name: 'src_main_java')
            propertyref(name: 'src_main_resources')
            propertyref(name: 'modelPackage')
            propertyref(name: 'mapperPackage')
            propertyref(name: 'sqlMapperPackage')
        }
    }
}

下載gradle依賴包

至此,基本的配置就完成了,接下來就需要執行gradle下載相應的依賴包了, 操作如下:開啟IDEA > View > Tool Windows > gradle:

點選圖中的按鈕,IDEA就會自動下載依賴包了。

下載完成後,目錄下的External Libraries資料夾會生成相應的目錄:

下載完依賴包之後,整體的配置基本上就完成了。

3. 部署到Tomcat伺服器

開啟IDEA > Run > Edit Configurations...

點選tomcat server的local選項,點選右上角的configure..., 在彈出的對話方塊中選中下載的Tomcat根目錄:

然後將配置好的tomcat新增到執行庫當中:

4. 編寫程式碼並執行

編寫controller程式碼

在controller資料夾中建立IndexController檔案,將程式碼修改為:

package cn.edu.bupt.wen.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
 * Author wenzhiquan
 * Created on 16/4/12 下午12:25
 * File name: IndexController.java
 * Description: null
 */

@Controller
public class IndexController {

    @RequestMapping("/")
    public String index(){
        return "index";
    }
}
修改index.jsp

將index.jsp檔案修改為自己想要的樣式:

<%--
  Created by IntelliJ IDEA.
  User: wenzhiquan
  Date: 16/4/12
  Time: 下午12:23
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>Index</title>
  </head>
  <body>
  Hello World!
  </body>
</html>
執行Tomcat

點選執行按鈕,伺服器啟動後會自動啟動瀏覽器進入主介面:

至此,hello world程式已經完成。

5. 自動生成mybatis相關檔案

進入gradle的view,點選建立gradle任務:

建立一個mybatisGenerate任務:

點選OK,會在modelmappermybatis_mapper資料夾中自動生成相應的檔案:

至此,Spring MVC + MyBatis的Java Web開發環境配置完成。本文轉載至http://www.cnblogs.com/bojuetech/p/5844413.html

相關推薦

使用IDEAgradle搭建Spring MVCMyBatis開發環境

1. 概述 Gradle是一個基於Apache Ant和Apache Maven概念的專案自動化建構工具。 它使用一種基於Groovy的特定領域語言(DSL)來宣告專案設定,拋棄了基於XML的各種繁瑣配置。 Spring MVC屬於SpringFrameWork的後續產品,已經融合 在Spring W

用Eclipsewxpython搭建一個Python Gui程式開發環境

從今天凌晨2點到現在。花了幾乎20個小時的時間去研究py Gui程式的基本規則,然後為了用py2exe給程式打包,差點沒瘋掉。在此總結一下經驗。 1.py2exe的版本一定要和python的版本完全匹配,才能保證打包的順利進行。 2.用eclipse和wxpython搭建整合環境時應注意Path環境

dubbo起步搭建Spring+SpringMVC+dubbo的開發環境(2,provider工程構建)

緊接上一期,構建provider工程 工程目錄如下圖: TestDubbo介面程式碼如下: package dp.dubbo.service; public interface TestDubbo { public String getStr(); } 介面的實現T

SMM框架的搭建測試(Spring MVC+MyBatis

meta true model spa const -i ssp pan div Spring MVC:MVC框架,通過Model-View-Controller模式很好的將數據,業務與展現進行分離。 MyBatis:數據持久層框架 我這裏使用的是MyEclipse 2

搭建SpringSpring MVCMybatisFreemarker

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.

採用spring mvc mybatis框架 將excel資料匯入到Mysql資料庫

1.jsp部分: <form action = "price/excelUpload" method = "post" enctype="multipart/form-data">                   <input class="fileF

IDEA下創建Maven項目,並整合使用SpringSpring MVCMybatis框架

varchar bat 連接 pom.xml文件 http mave eat supported 分享 項目創建 本項目使用的是IDEA 2016創建。項目使用Spring 4.2.6,Mybatis3.4.0,Tomcat使用的是Tomcat8,數據庫為MySQL。 首

IntelliJ IDEA安裝配置、搭建Spring MVC

oracl 下載地址 git https ins www. htm 代碼 img 安裝前必備軟件:   1、jdk1.8.0_144安裝包   2、IntelliJ IDEA 2016.1.1(64)   3、Tomcat安裝包 4、Mysql、MySQL-J

淺析Spring MVCSpring BOOT之間的簡化小秘密

solver 應用開發 b- 存在 cts frame 幫助 假設 導入jar 從Servlet技術到Spring和Spring MVC,開發Web應用變得越來越簡捷。但是Spring和Spring MVC的眾多配置有時卻讓人望而卻步,相信有過Spring MVC開發經驗的

spring mvcspring boot實現AOP

spring boot實現AOP 首先建立切面類需要@Aspect,@Component註解 然後建立@Pointcut確定什麼方法實現aop @Pointcut("execution(* com.air_baocl.controller.selectApi.*(..))")

Spring Boot、Spring MVC Spring 有什麼區別?

SpringFrame       SpringFramework 最重要的特徵是依賴注入。所有 SpringModules(多模組) 不是依賴注入就是 IOC 控制反轉。       當我們恰當的使用 DI 或者是 IOC 的時候,我

Spring MvcSpringBoot整合Swagger2

各位同學大家好,最近專案趕進度,沒有鑽研技術的時間,但碰巧今天需要在Spring專案上進行SpringMvc和Swagger的整合,而第一次使用Swagger是在SpringBoot專案上,因此踩了不少的坑,於是想和大家分享一下 :關於Swagger在SpringBoot或者和SpringMvc的整

IDEA搭建spring MVC專案

spring MVC 框架提供了模型-檢視-控制的體系結構和可以用來開發靈活、鬆散耦合的 web 應用程式的元件。MVC 模式導致了應用程式的不同方面(輸入邏輯、業務邏輯和 UI 邏輯)的分離,同時提供了在這些元素之間的鬆散耦合。以下是搭建MVC helloworld專案的簡單過程。 1.通過I

Spring MvcSpring Boot讀取Profile方式

spring boot java程式碼中獲取spring.profiles.active - u013042707的專欄 - CSDN部落格https://blog.csdn.net/u013042707/article/details/80632057 在Java類中取web.xml中配置的profile

基於 spring boot spring mvc 的快速開發框架 summer-boot

summer-boot 詳細介紹 此專案目的在於提供一個簡化、簡潔、迅速的開發架構。 它是基於spring boot和spring mvc高度封裝的快速開發框架,資料庫操作工具summerDao是基於jdbcTemplate高度封裝簡化、擁有超級簡單實用的O

Spring MVC Struts2的區別、優缺點?

1、Spring MVC 開發效率和效能要優於Struts2。 2、Spring MVC繼承了 Ajax,使用 @ResponseBody註解寫入 HTTP 響應正文,一般在非同步獲取資料時使用,使用@RequestBody 註解則是將 HTTP 請求正文插入方法中,使用適合的 HttpMess

Java Web實戰08-SpringSpring MVCHibernate實現收銀機系統(XML版本)

前面參加一個公司的活動,做了一份收銀機系統的作業,當時時間緊,花費一天時間用Swing介面做的,比較簡單。程式碼在GitHub:https://github.com/yefengzhichen/twTask。最近正好學習了Spring,以及瞭解了Html和JSP,於是就將此作業改寫成了Sprin

基於Spring MVCTomcat伺服器的JavaWeb專案----入門篇

1 軟體工具準備 (1) JDK: jdk-8u92-windows-i586.exe (jdk1.8.0_92) (2) Eclipse:eclipse-jee-luna-SR2-win32.zip (3) Tomcat: apache-tomcat-7

轉--【工具使用】IntelliJ IDEA 2017 搭建spring mvc

背景 用idea搭建spring mvc環境,網上有很多教程,但是普遍都不是很詳細,容易有遺漏。也沒有太多解釋原因。我自己總結了一個。並會附上一定的解釋。 具體步驟 新建專案 我使用的版本是IntelliJ 15.0.3   開啟IntelliJ,新建專案  然後

簡單分析下SPring MVCAsp.net MVC的區別異同點

     .Net 檢視載入 在 ActionResult之後呼叫檢視類的Render展示檢視。而無獨有偶,Spring MVC在 Dispatcher DoDispath 最後也是呼叫Render載入檢視,看來.Net 與Java極具雷同。   &