Maven+SpringMVC+MyBatis实现系统(一)

来源:互联网 发布:京东me软件 编辑:程序博客网 时间:2024/05/18 03:02
摘要 实训快结束,不得不交作业,正巧工作刚开始也是要学习SpringMVC Maven,那么就拿来练练手咯,借鉴了他人的一篇博客(http://www.open-open.com/lib/view/open1392252233301.html),但是发现不少错误,下面为修改后的搭建过程

目录[-]

  • 一.  工程目录结构整理清楚
  • 二.  引入依赖包
  • 3. 配置数据库连接属性
  • 4.  配置spring配置文件
  • 5.  java代码编写(po,dao,service层代码)
  • 一.  工程目录结构整理清楚

    在src/main/java文件夹中,新建包com.cx.bank.po(存放javabean),

                                                com.cx.bank.dao(存放spring与mybatis连接接口),

                                                com.cx.bank.service(service接口),

                                                com.cx.bank.service.impl(service接口的实现),

                                               com.cx.bank.controller(存放控制层controller)

    在src/main/resource文件夹中,新建包conf(存放配置文件),

                                                       conf/mapper(mybatis的mapper文件)

    在src/test/java文件夹中,新建包cn.springmvc.test(存放测试文件)

    在WEB-INF文件夹下新建jsp文件夹(存放jsp文件)

    这样项目结构基本完成了


    二.  引入依赖包

    打开maven的pom文件,对本次开发所需使用的架包依次导入(maven项目管理的优势)

    查找依赖结构有个不错的网站,http://search.maven.org/   只要输入包名即可查找引来关系

    pom.xml(包依赖)

    一定要注意每个jar的版本,可以点击Maven Dependencies进入每个jar,查看是否引入

    SpringMVC支持json目前还没有实现!所以没有添加该jar

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    <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>Bank5.0</groupId>
      <artifactId>Bank5.0</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>war</packaging>
      <name/>
      <description/>
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         
        <!-- spring版本号 -->
            <spring.version>3.1.1.RELEASE</spring.version>
            <!-- mybatis版本号 -->
            <mybatis.version>3.1.0</mybatis.version>
            <!-- log4j日志文件管理包版本 -->
            <slf4j.version>1.6.6</slf4j.version>
            <log4j.version>1.2.9</log4j.version>
         
      </properties>
       
      <dependencies>
            <!-- spring核心包 -->
            <!-- springframe start -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>
      
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
            </dependency>
      
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-oxm</artifactId>
                <version>${spring.version}</version>
            </dependency>
      
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${spring.version}</version>
            </dependency>
      
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
            </dependency>
      
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
      
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${spring.version}</version>
            </dependency>
      
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${spring.version}</version>
            </dependency>
      
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${spring.version}</version>
            </dependency>
      
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- springframe end -->
      
            <!-- mybatis核心包 -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <!-- mybatis/spring包 -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>1.2.2</version>
            </dependency>
            <!-- mysql驱动包 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.29</version>
            </dependency>
            <!-- junit测试包 -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <!-- 阿里巴巴数据源包 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.0.9</version>
            </dependency>
      
            <!-- json数据 
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>1.9.13</version>
            </dependency>
             
            <dependency>
                <groupId>com.sun.jersey.glassfish.v3.osgi</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>1.2</version>
            </dependency>-->
              
             
      
            <!-- 日志文件管理包 -->
            <!-- log start -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!-- log end -->
        </dependencies>
       
          <build>
            <finalName>bank5.0</finalName>
        </build>
       
    </project>


    3. 配置数据库连接属性

    conf/ jdbc.properties(jdbc配置文件)

    ?
    1
    2
    3
    4
    jdbc_driverClassName=com.mysql.jdbc.Driver
    jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf-8
    jdbc_username=root
    jdbc_password=root


    4.  配置spring配置文件

        conf/spring.xml(spring配置文件的扫描)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:context="http://www.springframework.org/schema/context"
     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-3.0.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context.xsd">
      
        <!-- 引入jdbc配置文件 -->
        <context:property-placeholder location="classpath:conf/jdbc.properties"/>
          
        <!-- 扫描文件(自动将servicec层注入) -->
        <context:component-scan base-package="com.cx.bank.service"/>
    </beans>


    conf/spring-mybatis.xml(spring与mybatis连接属性)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    <?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:aop="http://www.springframework.org/schema/aop"
      xmlns:tx="http://www.springframework.org/schema/tx"
      xmlns:util="http://www.springframework.org/schema/util"
      xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
        http://www.springframework.org/schema/util
        http://www.springframework.org/schema/util/spring-util-3.2.xsd">
      
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init"
        destroy-method="close" >
        <property name="driverClassName">
          <value>${jdbc_driverClassName}</value>
        </property>
        <property name="url">
          <value>${jdbc_url}</value>
        </property>
        <property name="username">
          <value>${jdbc_username}</value>
        </property>
        <property name="password">
          <value>${jdbc_password}</value>
        </property>
        <!-- 连接池最大使用连接数 -->
        <property name="maxActive">
          <value>20</value>
        </property>
        <!-- 初始化连接大小 -->
        <property name="initialSize">
          <value>1</value>
        </property>
        <!-- 获取连接最大等待时间 -->
        <property name="maxWait">
          <value>60000</value>
        </property>
        <!-- 连接池最大空闲 -->
        <property name="maxIdle">
          <value>20</value>
        </property>
        <!-- 连接池最小空闲 -->
        <property name="minIdle">
          <value>3</value>
        </property>
        <!-- 自动清除无用连接 -->
        <property name="removeAbandoned">
          <value>true</value>
        </property>
        <!-- 清除无用连接的等待时间 -->
        <property name="removeAbandonedTimeout">
          <value>180</value>
        </property>
        <!-- 连接属性 -->
        <property name="connectionProperties">
          <value>clientEncoding=UTF-8</value>
        </property>
      </bean>
          
        <!-- mybatis文件配置,扫描所有mapper文件 -->
          <bean id="sqlSessionFactory"
              class="org.mybatis.spring.SqlSessionFactoryBean"
              p:dataSource-ref="dataSource"
              p:configLocation="classpath:conf/mybatis-config.xml"
              p:mapperLocations="classpath:conf/mapper/*.xml"/><!-- configLocation为mybatis属性 mapperLocations为所有mapper-->
            
       <!-- spring与mybatis整合配置,扫描所有dao -->
     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
            p:basePackage="com.cx.bank.dao"
            p:sqlSessionFactoryBeanName="sqlSessionFactory"/>
       
       <!-- 对数据源进行事务管理 -->
      <bean id="transactionManager"
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
            p:dataSource-ref="dataSource"/>
             
             
          
    </beans>


    5.  java代码编写(po,dao,service层代码)

       com.cx.bank.po/User.java(用户基本信息)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    package com.cx.bank.po;
     
    /**
     
     * @author liyixiang
     * @2014-10-20
     * @version:  
     * @TODO:
     *        用户实体类
     */
    public class User {
     
        private int id;                                        //用户ID
        private String username;                        //用户名
        private String password;                        //密码
        private double money;                            //存款
         
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        public double getMoney() {
            return money;
        }
        public void setMoney(double money) {
            this.money = money;
        }
         
    }

    0 0
    原创粉丝点击