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

摘要  实训快结束,不得不交作业,正巧工作刚开始也是要学习SpringMVC Maven,那么就拿来练练手咯,借鉴了他人的一篇博客(http://www.open-open.com/lib/view/open1392252233301.html),但是发现不少错误,下面为修改后的搭建过程

一.  工程目录结构整理清楚

在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;
     }
     
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值