SSM搭建項目嫉晶,從前端到后臺(一)

首先搭建后臺環(huán)境:

1. 先用maven下載依賴包

pom.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>

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

    <groupId>HopeRun</groupId>
    <artifactId>SSMMaven</artifactId>
    <version>1.0-1</version>
    <packaging>war</packaging>

    <name>SSMMaven Maven Webapp</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>

    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <!--日志依賴-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <!--mybatis依賴-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.8</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.2</version>
        </dependency>

        <!--spring依賴-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.3.5.RELEASE</version>
        </dependency>
        <!--解析XML-->
        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.6</version>
        </dependency>
        <!--druid-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.12</version>
        </dependency>
        <!--fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.54</version>
        </dependency>
        <!--mybatis逆向工程-->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.7</version>
        </dependency>
        <!--idea逆向工程插件-->
        <!--<dependency>-->
        <!--<groupId>org.mybatis.generator</groupId>-->
        <!--<artifactId>mybatis-generator-maven-plugin</artifactId>-->
        <!--<version>1.3.7</version>-->
        <!--</dependency>-->
        <!--mysql驅動-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>
    </dependencies>

    <build>
        <finalName>SSMMaven</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>

                <!-- mybatis逆向工程 -->
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.7</version>
                    <configuration>
                        <!--配置文件的位置-->
                        <configurationFile>src/main/java/generatorConfig.xml</configurationFile>
                        <verbose>true</verbose>
                        <overwrite>true</overwrite>
                    </configuration>
                    <!--<executions>-->
                        <!--<execution>-->
                            <!--<id>Generate MyBatis Artifacts</id>-->
                            <!--<goals>-->
                                <!--<goal>generate</goal>-->
                            <!--</goals>-->
                        <!--</execution>-->
                    <!--</executions>-->
                    <!--<dependencies>-->
                        <!--<dependency>-->
                            <!--<groupId>org.mybatis.generator</groupId>-->
                            <!--<artifactId>mybatis-generator-core</artifactId>-->
                            <!--<version>1.3.7</version>-->
                        <!--</dependency>-->
                    <!--</dependencies>-->
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

這個地方因為是簡單的表操作掏导,所以使用逆向工程來生成mapper和mapper.xml
配置文件如下
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>
    <properties resource="DbConfig.properties"></properties>
    <!--<classPathEntry location="${jdbc.driverLocation}"/>-->
    <classPathEntry location="D:\repository\mysql\mysql-connector-java\8.0.11\mysql-connector-java-8.0.11.jar" />
    <context id="MysqlTable2" targetRuntime="Mybatis3">

        <commentGenerator>
            <!-- 去除自動生成的注釋 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!-- 數據庫連接配置 -->
        <jdbcConnection driverClass="${driver}"
                        connectionURL="${url}"
                        userId="${name}"
                        password="${pwd}"/>
        <!--jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test"
                        userId="root"
                        password="mysql" /-->

        <!-- 非必需,類型處理器,在數據庫類型和java類型之間的轉換控制-->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!--配置生成的實體包
            targetPackage:生成的實體包位置军洼,默認存放在src目錄下
            targetProject:目標工程名
         -->
        <javaModelGenerator targetPackage="com.HopeRun.SSM.Crm.entity"
                            targetProject="src/main/java"/>

        <!-- 實體包對應映射文件位置及名稱,默認存放在src目錄下 -->
        <sqlMapGenerator targetPackage="mybatis.mappers" targetProject="src/main/resources"/>
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="mybatis.mappers"
                             targetProject="src/main/resources">
            <!-- enableSubPackages:是否讓schema作為包的后綴 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>

        <!-- 配置表
            schema:不用填寫
            tableName: 表名
            enableCountByExample关面、enableSelectByExample、enableDeleteByExample十厢、enableUpdateByExample等太、selectByExampleQueryId:
            去除自動生成的例子
        -->
        <table schema="crm" tableName="base_dict" enableCountByExample="false" enableSelectByExample="false"
               enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false">
        </table>
        <table schema="crm" tableName="sys_user" enableCountByExample="false" enableSelectByExample="false"
               enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false">
        </table>
        <table schema="crm" tableName="customer" enableCountByExample="false" enableSelectByExample="false"
               enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false">
        </table>

    </context>
</generatorConfiguration>

這里面一定要主要有一個地方就是TargetRunTime這個地方一定要使用mybatis3,因為我改了一下名稱蛮放,運行不出來缩抡,最后看了文檔才生成成功。

2.spring 配置文件

applicationContext.xml

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

    <!--<context:component-scan base-package=""></ context:component-scan >-->
    <!--鏈接數據庫,配置數據連接池-->
    <context:property-placeholder location="classpath:DbConfig.properties"/>
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <tx:annotation-driven transaction-manager="transactionManager"/>
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <property name="driverClassName" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${name}"/>
        <property name="password" value="${pwd}"/>

        <property name="filters" value="stat"/>

        <property name="maxActive" value="20"/>
        <property name="initialSize" value="1"/>
        <property name="maxWait" value="60000"/>
        <property name="minIdle" value="1"/>

        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
        <property name="minEvictableIdleTimeMillis" value="300000"/>

        <property name="testWhileIdle" value="true"/>
        <property name="testOnBorrow" value="false"/>
        <property name="testOnReturn" value="false"/>

        <property name="poolPreparedStatements" value="true"/>
        <property name="maxOpenPreparedStatements" value="20"/>

        <property name="asyncInit" value="true"/>
    </bean>
    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--設置數據源-->
        <property name="dataSource" ref="dataSource"/>
        <!-- 核心配置文件的位置 -->
        <property name="configLocation" value="classpath*:/config/mybatis/sqlMapperConfig.xml"/>
    </bean>

    <!-- 配置Mapper掃描 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 設置Mapper掃描包 -->
        <property name="basePackage" value="com.HopeRun.SSM.Crm.dao"/>
    </bean>
    <!--配置Service掃描-->
    <context:component-scan base-package="com.HopeRun.SSM.Crm.service"/>
    <!-- 啟動@aspectj的自動代理支持-->
    <aop:aspectj-autoproxy />
</beans>

3.配置web.xml


<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         id="WebApp_ID" version="2.5">
  <display-name>Archetype Created Web Application</display-name>
<!--解決post提交中文亂碼-->
  <filter>
    <filter-name>encoding</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

<!--配置前端控制器-->
  <servlet>
    <servlet-name>MavenSSM</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath*:config/springmvc/springmvc.xml</param-value>
    </init-param>
    <!-- 配置springmvc什么時候啟動包颁,參數必須為整數 -->
    <!-- 如果為0或者大于0瞻想,則springMVC隨著容器啟動而啟動 -->
    <!-- 如果小于0,則在第一次請求進來的時候啟動 -->
    <load-on-startup>1</load-on-startup>
  </servlet>
<servlet-mapping>
  <servlet-name>MavenSSM</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:config/spring/applicationContext.xml</param-value>
  </context-param>
  <!--監(jiān)聽spring配置文件娩嚼,自動加載-->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>

4.springmvc.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:p="http://www.springframework.org/schema/p"
       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-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
    <context:component-scan base-package="com.HopeRun.SSM.Crm.controller" />

    <!--<context:property-placeholder location="classpath:resource.properties" />-->

    <!-- 配置注解驅動 -->
    <mvc:annotation-driven />
    <!-- 對靜態(tài)資源放行  -->
    <mvc:resources location="crmWeb" mapping="/*"/>
    <!-- 配置視圖解析器 -->
    <!--<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
        <!--&lt;!&ndash; 前綴 &ndash;&gt;-->
        <!--<property name="prefix" value="crmWeb " />-->
        <!--&lt;!&ndash; 后綴 &ndash;&gt;-->
        <!--<property name="suffix" value=".jsp" />-->
    <!--</bean>-->


</beans>

5.mybatis.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 別名 -->
    <typeAliases>
        <package name="com.HopeRun.SSM.Crm.entity"/>
    </typeAliases>
</configuration>

我的項目在這里通過maven編譯是不會報錯的蘑险,明天我會把前端的配置也發(fā)上來。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末岳悟,一起剝皮案震驚了整個濱河市佃迄,隨后出現的幾起案子泼差,更是在濱河造成了極大的恐慌,老刑警劉巖呵俏,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件堆缘,死亡現場離奇詭異,居然都是意外死亡普碎,警方通過查閱死者的電腦和手機吼肥,發(fā)現死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來麻车,“玉大人潜沦,你說我怎么就攤上這事⌒鞣眨” “怎么了唆鸡?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長枣察。 經常有香客問我争占,道長,這世上最難降的妖魔是什么序目? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任臂痕,我火速辦了婚禮,結果婚禮上猿涨,老公的妹妹穿的比我還像新娘握童。我一直安慰自己,他們只是感情好叛赚,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布澡绩。 她就那樣靜靜地躺著,像睡著了一般俺附。 火紅的嫁衣襯著肌膚如雪肥卡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天事镣,我揣著相機與錄音步鉴,去河邊找鬼。 笑死璃哟,一個胖子當著我的面吹牛氛琢,可吹牛的內容都是我干的。 我是一名探鬼主播随闪,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼阳似,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蕴掏?” 一聲冷哼從身側響起障般,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤调鲸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后挽荡,有當地人在樹林里發(fā)現了一具尸體藐石,經...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年定拟,在試婚紗的時候發(fā)現自己被綠了于微。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡青自,死狀恐怖株依,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情延窜,我是刑警寧澤恋腕,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站逆瑞,受9級特大地震影響荠藤,放射性物質發(fā)生泄漏。R本人自食惡果不足惜获高,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一哈肖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧念秧,春花似錦淤井、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至严就,卻和暖如春总寻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背梢为。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留轰坊,地道東北人铸董。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像肴沫,于是被迫代替她去往敵國和親粟害。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內容