[项目构建]babasport SSM 三大框架整合 [练手项目]

上一篇已经讲了整个各个子模块的创建过程以及它们之间的依存关系, 那么这一篇就来正式的整合三大框架(SSM)了.

1, 准备环境
1.1 为每个War包工程创建一个Server

那么 添加了Server后需要对每一个Server进行配置:
以console为例子:
设置timeout的时间为300

去掉项目名

剩下的几个Server 需要改端口号:

2, 导入Jar包
在父工程的pom文件中导入项目开发所需要的jar包:
pom.xml:

  1 <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">
  2   <modelVersion>4.0.0</modelVersion>
  3   <groupId>cn.itcast.babasport</groupId>
  4   <artifactId>parentProject</artifactId>
  5   <version>0.0.1-SNAPSHOT</version>
  6   <packaging>pom</packaging>
  7   <modules>
  8       <module>babasport-common</module>
  9       <module>babasport-javaBean</module>
 10       <module>babasport-dao</module>
 11       <module>babasport-service-interface</module>
 12       <module>babasport-portal</module>
 13       <module>babasport-console</module>
 14       <module>babasport-login</module>
 15       <module>babasport-service-product</module>
 16       <module>babasport-service-buyer</module>
 17       <module>babasport-service-solr</module>
 18       <module>babasport-service-cms</module>
 19   </modules>
 20
 21       <!-- jdk1.7 -->
 22     <build>
 23         <plugins>
 24             <plugin>
 25                 <groupId>org.apache.maven.plugins</groupId>
 26                 <artifactId>maven-compiler-plugin</artifactId>
 27                 <version>3.2</version>
 28                 <configuration>
 29                     <source>1.7</source>
 30                     <target>1.7</target>
 31                     <encoding>UTF-8</encoding>
 32                 </configuration>
 33             </plugin>
 34         </plugins>
 35     </build>
 36
 37     <!-- 设置统一控制版本 -->
 38     <properties>
 39         <java-version>1.7</java-version>
 40         <junit-version>4.12</junit-version>
 41         <spring.version>4.1.3.RELEASE</spring.version>
 42         <jackson.version>2.4.2</jackson.version>
 43         <mysql-connector-java-version>5.1.8</mysql-connector-java-version>
 44         <org.mybatis-version>3.2.7</org.mybatis-version>
 45         <org.mybatis-spring-version>1.2.2</org.mybatis-spring-version>
 46         <opensymphony-version>2.4.2</opensymphony-version>
 47         <freemarker-version>2.3.18</freemarker-version>
 48         <druid.version>1.0.9</druid.version>
 49         <commons-collections-version>1.0</commons-collections-version>
 50         <commons-fileupload-version>1.2.2</commons-fileupload-version>
 51         <org.apache.commons-version>3.1</org.apache.commons-version>
 52         <commons-codec-version>1.6</commons-codec-version>
 53         <dom4j-version>1.6.1</dom4j-version>
 54         <javax.servlet-version>1.2</javax.servlet-version>
 55         <aspectjweaver-version>1.6.6</aspectjweaver-version>
 56         <slf4j-log4j12-version>1.6.6</slf4j-log4j12-version>
 57         <log4j-version>1.2.16</log4j-version>
 58         <javax.servlet-jsp-version>2.0</javax.servlet-jsp-version>
 59         <cglib-version>2.2.2</cglib-version>
 60         <slf4j-api-version>1.6.6</slf4j-api-version>
 61         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 62     </properties>
 63
 64     <!-- 依赖管理 版本号 -->
 65     <!-- 设置统一依赖管理、不强行依赖 -->
 66     <dependencyManagement>
 67         <dependencies>
 68             <!-- with junit4.8.2 -->
 69             <dependency>
 70                 <groupId>junit</groupId>
 71                 <artifactId>junit</artifactId>
 72                 <version>${junit-version}</version>
 73                 <type>jar</type>
 74             </dependency>
 75             <!-- Spring -->
 76             <dependency>
 77                 <groupId>org.springframework</groupId>
 78                 <artifactId>spring-context</artifactId>
 79                 <version>${spring.version}</version>
 80             </dependency>
 81             <dependency>
 82                 <groupId>org.springframework</groupId>
 83                 <artifactId>spring-beans</artifactId>
 84                 <version>${spring.version}</version>
 85             </dependency>
 86             <dependency>
 87                 <groupId>org.springframework</groupId>
 88                 <artifactId>spring-webmvc</artifactId>
 89                 <version>${spring.version}</version>
 90             </dependency>
 91             <dependency>
 92                 <groupId>org.springframework</groupId>
 93                 <artifactId>spring-jdbc</artifactId>
 94                 <version>${spring.version}</version>
 95             </dependency>
 96             <dependency>
 97                 <groupId>org.springframework</groupId>
 98                 <artifactId>spring-aspects</artifactId>
 99                 <version>${spring.version}</version>
100             </dependency>
101
102             <dependency>
103                 <groupId>org.springframework</groupId>
104                 <artifactId>spring-test</artifactId>
105                 <version>${spring.version}</version>
106             </dependency>
107
108             <dependency>
109                 <groupId>org.springframework</groupId>
110                 <artifactId>spring-context-support</artifactId>
111                 <version>${spring.version}</version>
112             </dependency>
113
114             <dependency>
115                 <groupId>org.springframework</groupId>
116                 <artifactId>spring-jms</artifactId>
117                 <version>${spring.version}</version>
118             </dependency>
119
120
121             <!-- Jackson Json处理工具包 -->
122             <dependency>
123                 <groupId>com.fasterxml.jackson.core</groupId>
124                 <artifactId>jackson-databind</artifactId>
125                 <version>${jackson.version}</version>
126             </dependency>
127
128             <!--freemarker -->
129             <dependency>
130                 <groupId>org.freemarker</groupId>
131                 <artifactId>freemarker</artifactId>
132                 <version>2.3.18</version>
133             </dependency>
134             <!-- with mybatis-spring -->
135             <dependency>
136                 <groupId>org.mybatis</groupId>
137                 <artifactId>mybatis</artifactId>
138                 <version>${org.mybatis-version}</version>
139             </dependency>
140             <dependency>
141                 <groupId>org.mybatis</groupId>
142                 <artifactId>mybatis-spring</artifactId>
143                 <version>${org.mybatis-spring-version}</version>
144             </dependency>
145             <!-- jdbc driver -->
146             <dependency>
147                 <groupId>mysql</groupId>
148                 <artifactId>mysql-connector-java</artifactId>
149                 <version>${mysql-connector-java-version}</version>
150             </dependency>
151             <!-- 连接池 -->
152             <dependency>
153                 <groupId>com.alibaba</groupId>
154                 <artifactId>druid</artifactId>
155                 <version>${druid.version}</version>
156             </dependency>
157             <!-- apache commons jar -->
158             <dependency>
159                 <groupId>commons-collections</groupId>
160                 <artifactId>commons-collections</artifactId>
161                 <version>${commons-collections-version}</version>
162             </dependency>
163
164             <dependency>
165                 <groupId>commons-fileupload</groupId>
166                 <artifactId>commons-fileupload</artifactId>
167                 <version>${commons-fileupload-version}</version>
168             </dependency>
169
170             <dependency>
171                 <groupId>org.apache.commons</groupId>
172                 <artifactId>commons-lang3</artifactId>
173                 <version>${org.apache.commons-version}</version>
174             </dependency>
175
176             <dependency>
177                 <groupId>commons-codec</groupId>
178                 <artifactId>commons-codec</artifactId>
179                 <version>${commons-codec-version}</version>
180             </dependency>
181             <!-- analyze xml use dom4j -->
182             <dependency>
183                 <groupId>dom4j</groupId>
184                 <artifactId>dom4j</artifactId>
185                 <version>${dom4j-version}</version>
186             </dependency>
187
188             <!-- jstl标签 -->
189             <dependency>
190                 <groupId>jstl</groupId>
191                 <artifactId>jstl</artifactId>
192                 <version>1.2</version>
193             </dependency>
194             <dependency>
195                 <groupId>taglibs</groupId>
196                 <artifactId>standard</artifactId>
197                 <version>1.1.2</version>
198             </dependency>
199
200             <dependency>
201                 <groupId>org.slf4j</groupId>
202                 <artifactId>slf4j-log4j12</artifactId>
203                 <version>1.6.6</version>
204             </dependency>
205             <dependency>
206                 <groupId>log4j</groupId>
207                 <artifactId>log4j</artifactId>
208                 <version>1.2.17</version>
209             </dependency>
210
211             <dependency>
212                 <groupId>org.slf4j</groupId>
213                 <artifactId>slf4j-api</artifactId>
214                 <version>1.6.6</version>
215             </dependency>
216             <dependency>
217                 <groupId>javax.activation</groupId>
218                 <artifactId>activation</artifactId>
219                 <version>1.1.1</version>
220             </dependency>
221
222             <dependency>
223                 <groupId>cglib</groupId>
224                 <artifactId>cglib</artifactId>
225                 <version>${cglib-version}</version>
226             </dependency>
227
228             <dependency>
229                 <groupId>net.fckeditor</groupId>
230                 <artifactId>java-core</artifactId>
231                 <version>2.6</version>
232             </dependency>
233
234             <dependency>
235                 <groupId>org.json</groupId>
236                 <artifactId>json</artifactId>
237                 <version>20131018</version>
238             </dependency>
239
240             <!--page -->
241             <dependency>
242                 <groupId>com.babasport</groupId>
243                 <artifactId>page</artifactId>
244                 <version>1.0</version>
245             </dependency>
246             <!-- solrJ -->
247             <dependency>
248                 <groupId>org.apache.solr</groupId>
249                 <artifactId>solr-solrj</artifactId>
250                 <version>4.10.3</version>
251             </dependency>
252
253             <!-- jedis Java接口 -->
254             <dependency>
255                 <groupId>redis.clients</groupId>
256                 <artifactId>jedis</artifactId>
257                 <version>2.6.2</version>
258                 <type>jar</type>
259             </dependency>
260
261             <!-- FastDFS client -->
262
263             <dependency>
264                 <groupId>fastdfs_client</groupId>
265                 <artifactId>fastdfs_client</artifactId>
266                 <version>1.20</version>
267             </dependency>
268
269             <dependency>
270                 <groupId>org.jboss.netty</groupId>
271                 <artifactId>netty</artifactId>
272                 <version>3.2.5.Final</version>
273             </dependency>
274
275             <dependency>
276                 <groupId>com.alibaba</groupId>
277                 <artifactId>dubbo</artifactId>
278                 <version>2.5.3</version>
279             </dependency>
280
281             <dependency>
282                 <groupId>com.alibaba</groupId>
283                 <artifactId>fastjson</artifactId>
284                 <version>1.1.41</version>
285             </dependency>
286
287             <!-- Zookeeper 用于分布式服务管理 -->
288
289             <dependency>
290                 <groupId>com.github.sgroschupf</groupId>
291                 <artifactId>zkclient</artifactId>
292                 <version>0.1</version>
293             </dependency>
294             <dependency>
295                 <groupId>org.apache.zookeeper</groupId>
296                 <artifactId>zookeeper</artifactId>
297                 <version>3.4.6</version>
298             </dependency>
299             <!-- Zookeeper 用于分布式服务管理 end -->
300             <!-- Active MQ 开始 -->
301             <dependency>
302                 <groupId>org.apache.activemq</groupId>
303                 <artifactId>activemq-all</artifactId>
304                 <version>5.8.0</version>
305             </dependency>
306             <dependency>
307                 <groupId>org.apache.activemq</groupId>
308                 <artifactId>activemq-pool</artifactId>
309                 <version>5.8.0</version>
310             </dependency>
311             <!-- Active MQ 结束 -->
312             <!-- Tomcat7 servlet-api -->
313             <dependency>
314                 <groupId>org.apache.tomcat</groupId>
315                 <artifactId>tomcat-jsp-api</artifactId>
316                 <version>7.0.47</version>
317                 <scope>provided</scope>
318             </dependency>
319         </dependencies>
320     </dependencyManagement>
321 </project>

pom.xml

3,Druid
以往配置数据库连接池我们大多使用C3P0,jdbc等, 但是现在开始使用Druid.

4, Servlet-api.jar

把这个jar包单独拿出来提是因为在Tomcat 7中 使用的是3.0版本, 而我们通过pom导入的只能够是2.5, 所以这里Apache专门开发了一个jar包来替代这个.(这里所说的替代只是在编码中可以使用, 添加了provided关键字, 并不会被编译)

需要在在每个子项目pom.xml添加:

1 <!-- Tomcat7 servlet-api -->
2 <dependency>
3     <groupId>org.apache.tomcat</groupId>
4     <artifactId>tomcat-jsp-api</artifactId>
5     <scope>provided</scope>
6 </dependency>

5, 整合Spring+Mybatis

Babasport-service-product  为安例进行整合

想看一眼product目录结构:

web.xml:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 5     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 6
 7     <!-- 上下文的位置 -->
 8     <context-param>
 9         <param-name>contextConfigLocation</param-name>
10         <param-value>classpath:application-context.xml</param-value>
11     </context-param>
12
13     <!-- Spring监听器 -->
14     <listener>
15         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
16     </listener>
17 </web-app>

application-context.xml:spring配置文件

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    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:task="http://www.springframework.org/schema/task"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    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
        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/task
           http://www.springframework.org/schema/task/spring-task-4.0.xsd
        http://code.alibabatech.com/schema/dubbo
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

        <!-- 配置 连接池 事务 扫描 读取jdbc.properties mybatis工厂  solr redis-->
        <import resource="config/*.xml"/>

</beans>

mybatis=config.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 3 "http://mybatis.org/dtd/mybatis-3-config.dtd">
 4
 5 <configuration>
 6     <!-- 别名 -->
 7     <typeAliases>
 8         <package name="cn.itcast.core.bean"/>
 9     </typeAliases>
10
11     <!-- Mapper.xml所在位置
12     <mappers>
13         <package name="cn.itcast.core.dao"/>
14     </mappers>
15     -->
16 </configuration>

anoaction.xml: 扫描设置

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
 3     xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:tx="http://www.springframework.org/schema/tx"
 6     xmlns:task="http://www.springframework.org/schema/task"
 7     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
 8     xsi:schemaLocation="http://www.springframework.org/schema/beans
 9         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
10         http://www.springframework.org/schema/mvc
11         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
12         http://www.springframework.org/schema/context
13         http://www.springframework.org/schema/context/spring-context-4.0.xsd
14         http://www.springframework.org/schema/aop
15         http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
16         http://www.springframework.org/schema/tx
17         http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
18         http://www.springframework.org/schema/task
19            http://www.springframework.org/schema/task/spring-task-4.0.xsd
20         http://code.alibabatech.com/schema/dubbo
21         http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
22
23         <!-- 配置扫描-->
24         <context:component-scan base-package="cn.itcast"/>
25
26
27 </beans>

jdbc.xml: JDBC配置文件

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
 3     xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:tx="http://www.springframework.org/schema/tx"
 6     xmlns:task="http://www.springframework.org/schema/task"
 7     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
 8     xsi:schemaLocation="http://www.springframework.org/schema/beans
 9         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
10         http://www.springframework.org/schema/mvc
11         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
12         http://www.springframework.org/schema/context
13         http://www.springframework.org/schema/context/spring-context-4.0.xsd
14         http://www.springframework.org/schema/aop
15         http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
16         http://www.springframework.org/schema/tx
17         http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
18         http://www.springframework.org/schema/task
19            http://www.springframework.org/schema/task/spring-task-4.0.xsd
20         http://code.alibabatech.com/schema/dubbo
21         http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
22
23         <!-- 配置 连接池 使用druid连接池-->
24         <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
25             <!-- 驱动 -->
26             <property name="driverClassName" value="${driverClassName}"/>
27             <property name="url" value="${url}"/>
28             <property name="username" value="${username}"/>
29             <property name="password" value="${password}"/>
30         </bean>
31
32 </beans>

mybatis.xml: mybatis配置文件

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
 3     xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:tx="http://www.springframework.org/schema/tx"
 6     xmlns:task="http://www.springframework.org/schema/task"
 7     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
 8     xsi:schemaLocation="http://www.springframework.org/schema/beans
 9         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
10         http://www.springframework.org/schema/mvc
11         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
12         http://www.springframework.org/schema/context
13         http://www.springframework.org/schema/context/spring-context-4.0.xsd
14         http://www.springframework.org/schema/aop
15         http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
16         http://www.springframework.org/schema/tx
17         http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
18         http://www.springframework.org/schema/task
19            http://www.springframework.org/schema/task/spring-task-4.0.xsd
20         http://code.alibabatech.com/schema/dubbo
21         http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
22
23         <!-- 配置mybatis-->
24         <bean class="org.mybatis.spring.SqlSessionFactoryBean">
25             <!-- 数据源 -->
26             <property name="dataSource" ref="dataSource"/>
27             <!-- 配置Mybatis配置文件所在位置 -->
28             <property name="configLocation" value="classpath:mybatis-config.xml"></property>
29         </bean>
30
31         <!-- 三种:
32             第一种:原始Dao:接口实现类 Mapper.xml
33             第二种:接口Mapper.xml(需要重复配置)
34             第三种:第二种升级版,扫描方式自动加载Dao接口Mapper,不用一个一个的配置,扫描的包
35                 注意事项:Dao接口和Mapper文件在同一目录下(包下),并且UserDao.java UserDao.xml 同名
36         -->
37         <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
38             <property name="basePackage" value="cn.itcast.core.dao"/>
39         </bean>
40
41 </beans>

properties.xml: 读取属性文件

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
 3     xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:tx="http://www.springframework.org/schema/tx"
 6     xmlns:task="http://www.springframework.org/schema/task"
 7     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
 8     xsi:schemaLocation="http://www.springframework.org/schema/beans
 9         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
10         http://www.springframework.org/schema/mvc
11         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
12         http://www.springframework.org/schema/context
13         http://www.springframework.org/schema/context/spring-context-4.0.xsd
14         http://www.springframework.org/schema/aop
15         http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
16         http://www.springframework.org/schema/tx
17         http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
18         http://www.springframework.org/schema/task
19            http://www.springframework.org/schema/task/spring-task-4.0.xsd
20         http://code.alibabatech.com/schema/dubbo
21         http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
22
23         <!-- 读取properties文件 -->
24         <!-- <context:property-placeholder location="classpath:jdbc.properties"/> -->
25         <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
26             <property name="locations">
27                 <list>
28                     <value>classpath:jdbc.properties</value>
29                 </list>
30             </property>
31         </bean>
32
33 </beans>

transaction.xml:事务配置文件

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
 3     xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:tx="http://www.springframework.org/schema/tx"
 6     xmlns:task="http://www.springframework.org/schema/task"
 7     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
 8     xsi:schemaLocation="http://www.springframework.org/schema/beans
 9         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
10         http://www.springframework.org/schema/mvc
11         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
12         http://www.springframework.org/schema/context
13         http://www.springframework.org/schema/context/spring-context-4.0.xsd
14         http://www.springframework.org/schema/aop
15         http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
16         http://www.springframework.org/schema/tx
17         http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
18         http://www.springframework.org/schema/task
19            http://www.springframework.org/schema/task/spring-task-4.0.xsd
20         http://code.alibabatech.com/schema/dubbo
21         http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
22
23         <!-- 配置事务-->
24         <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
25             <property name="dataSource" ref="dataSource"></property>
26         </bean>
27
28         <!-- @Transaction 开启事务注解 -->
29         <tx:annotation-driven transaction-manager="transactionManager"/>
30
31 </beans>

6, 整合Spring

Login/Console/Portal 都是输入Controller层, 所以这三个project都需要做此配置.
这里以Console为例子:
先看一下Console project整体目录结构:

web.xml:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 5     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 6
 7     <!-- 前端控制器 -->
 8     <servlet>
 9         <servlet-name>console</servlet-name>
10         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
11         <init-param>
12             <param-name>contextConfigLocation</param-name>
13             <!-- 默认读取的是 WEB-INF/console-servlet.xml -->
14             <param-value>classpath:springmvc-console.xml</param-value>
15         </init-param>
16     </servlet>
17
18     <servlet-mapping>
19         <servlet-name>console</servlet-name>
20         <!--
21             /*: 拦截视图请求: .jsp  .js  .css  几乎不用,配置静态资源过滤
22             /: 拦截所有,不拦截.jsp 文件, 但是同样拦截.js .css  如果使用也需要配置静态资源过滤(前台系统使用)
23             *.do:拦截所有以.do请求, 后台开发应用*.do
24          -->
25         <url-pattern>*.do</url-pattern>
26     </servlet-mapping>
27 </web-app>

springmvc-console.xml:Springmvc配置文件

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
 3     xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:tx="http://www.springframework.org/schema/tx"
 6     xmlns:task="http://www.springframework.org/schema/task"
 7     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
 8     xsi:schemaLocation="http://www.springframework.org/schema/beans
 9         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
10         http://www.springframework.org/schema/mvc
11         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
12         http://www.springframework.org/schema/context
13         http://www.springframework.org/schema/context/spring-context-4.0.xsd
14         http://www.springframework.org/schema/aop
15         http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
16         http://www.springframework.org/schema/tx
17         http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
18         http://www.springframework.org/schema/task
19            http://www.springframework.org/schema/task/spring-task-4.0.xsd
20         http://code.alibabatech.com/schema/dubbo
21         http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
22
23     <!-- 扫描@Controller -->
24     <context:component-scan base-package="cn.itcast"/>
25
26     <!-- 处理器适配器 映射器 -->
27     <mvc:annotation-driven/>
28
29     <!-- jsp视图解析器 -->
30     <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
31         <property name="prefix" value="/WEB-INF/console/"/>
32         <property name="suffix" value=".jsp"/>
33     </bean>
34
35     <import resource="dubbo-customer.xml"/>
36
37 </beans>

到了这里三大框架就整合完了, 下一篇将带来Dubbo和Zookeeper的使用.

时间: 2024-10-19 22:58:15

[项目构建]babasport SSM 三大框架整合 [练手项目]的相关文章

SpringMVC详解(四)------SSM三大框架整合之登录功能实现

为了后面讲解的需要,我们取数据都会从数据库中获取,所以这里先讲讲三大框架(Spring.SpringMVC.MyBatis)的整合.前面讲解 MyBatis 时,写了一篇 MyBatis 和 Spring 的整合,有兴趣的可以先看看:http://www.cnblogs.com/ysocean/p/7368499.html ,那么接下来我们直接进入正题! 本篇博客源码下载链接:http://pan.baidu.com/s/1skAfNRZ 密码:n3fn 1.整合思路 ①.表现层,也就是 Con

四、SSM三大框架整合之登录功能实现

1.整合思路 ①.表现层,也就是 Controller,由 SpringMVC 来控制,而SpringMVC 是Spring 的一个模块,故不需要整合. ②.业务层,也就是 service,通常由 Spring 来管理 service 接口,我们会使用 xml 配置的方式来将 service 接口配置到 spring 配置文件中.而且事务控制一般也是在 service 层进行配置. ③.持久层,也就是 dao 层,而且包括实体类,由 MyBatis 来管理,通过 spring 来管理 mappe

SSM三大框架整合详细教程Spring+SpringMVC+MyBatis+maven

[源码获取地址] 使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些.以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下.这次,先说说三大框架整合过程.个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助.不过,如果

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)【转】

使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些.以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下.这次,先说说三大框架整合过程.个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助.不过,如果用都不会,谈思想就

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)(转)

使用 SSM ( Spring . SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录 SSM 整合的过程, 这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些.以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下. 这次 , 先说说 三大框架整合过程 .个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)

使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些.以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下.这次,先说说三大框架整合过程.个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助.不过,如果用都不会,谈思想就

SSM三大框架整合详细教程

使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些.以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下.这次,先说说三大框架整合过程.个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助.不过,如果用都不会,谈思想就

SSM三大框架整合

三大框架整合的思路 1.Dao层: Mybatis的配置文件:SqlMapConfig.xml 不需要配置任何内容,需要有文件头.文件必须存在. applicationContext-dao.xml: mybatis整合spring,通过由spring创建数据库连接池,spring管理SqlSessionFactory.mapper代理对象.需要mybatis和spring的整合包. 2.Service层: applicationContext-service.xml: 所有的service实现

SSM三大框架整合梳理

整合步骤 0.搭建动态web项目 1.需要的jar包 spring(包括springmvc) mybatis相关jar包 mybatis与spring的整合包(个人建议尽量使用高版本的,避免出现一些奇怪的错误mybatis-spring-2.0.2.jar) 数据库驱动包(mysql-connector-java-5.1.44.jar) 第三方连接池(druid-1.1.10.jar,也可用spring的dbcp连接池或c3p0连接池c3p0-0.9.5.2.jar) json依赖包Jackso