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>
View Code

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>
View Code

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>
View Code

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>
View Code

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>
View Code


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>
View Code


到了這里三大框架就整合完了, 下一篇將帶來Dubbo和Zookeeper的使用.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM