一. 工程目录结构整理清楚
在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&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;
}
}
|