TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
springMVC+hibernate4.3+Spring4.1整合案例spring.xml:$ q* R7 D, f( y6 f/ d
; r3 w. u' T& K9 o, M0 U$ p2 a! d
- <?xml version="1.0" encoding="UTF-8"?>
, T$ h8 e! g8 H3 p7 \/ a7 e - <beans xmlns="http://www.springframework.org/schema/beans"
% _; ^* w- ?- `! K; Q+ d% Z0 x - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1 L9 h8 ~7 g( ^ - xmlns:p="http://www.springframework.org/schema/p" " E" b* i: f9 t7 v4 P
- xmlns:aop="http://www.springframework.org/schema/aop" ! E( I2 x3 Q9 { U
- xmlns:context="http://www.springframework.org/schema/context" 7 g5 a- m* B, d1 C
- xmlns:jee="http://www.springframework.org/schema/jee" ) b3 U6 {3 c; n1 n6 Q$ C
- xmlns:tx="http://www.springframework.org/schema/tx"
% J/ T* I6 \0 ^! z - xsi:schemaLocation="
: \: K7 v* M9 m9 {- y - http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
" K3 Q- A9 z Q" J: V - http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd # x$ U1 [% x) d+ j( L
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
' A1 Y* s1 Q2 y. H9 d+ A - http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd
0 O6 m: @2 F. X- v/ o% { - http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
% k; z/ B8 a" y( K -
: P. f1 |$ s# E - <!-- <mvc:annotation-driven /> -->
& K" T# I1 e- r- \- ]# I1 j - <!-- 【配置视图解析器】 -->
* ?" S. Z% I% A: r+ ` - <!-- InternalResourceViewResolver会在ModelAndView返回的视图名前加上prefix指定的前缀,再在最后加上suffix指定的后缀 -->
- l/ K/ c1 `+ N [) ^ - <!-- 由于UserController返回的ModelAndView中的视图名是userlist,故该视图解析器将在/WEB-INF/jsp/userlist.jsp处查找视图 --> ! {+ p @" l/ n4 M
- <!-- <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
% K* w0 u0 d. g; I* {" f - <property name="prefix" value="/WEB-INF/jsp/"/> % O3 w; t& b' l# W2 P* f' [
- <property name="suffix" value=".jsp"/>
2 Y/ P: E; y4 Y" p6 ?0 U8 _ - </bean> -->
$ [- W0 F5 ]4 b1 H - : W7 F2 N& _1 b8 k1 X
- <!-- 导入springMvc.xml配置文件 -->
8 D/ B2 P- }" X- d } - <import resource="classpath:config/spring-mvc.xml" />
e0 W; \* ?1 R& b/ X& \ - <!-- 加载数据库配置 -->
# w% K+ A5 w* h/ ~' b% z - <context:property-placeholder location="classpath:config/db.properties" />) e6 k! Z! Q: J4 V7 w& L
- <!-- 加载数据源 -->
# C" t7 n6 | j - <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
& X9 W8 n# v4 c8 R" r7 o - <property name="driverClassName" value="${db.driverClassName}" />
0 F: F8 i9 r3 b0 p: h, \3 Z5 z - <property name="url" value="${db.url}" />
3 R! m7 t. A4 J! C" q i5 g - <property name="username" value="${db.username}" />8 H0 m9 E! T" l$ k( w7 c& I
- <property name="password" value="${db.password}" />
3 Z( s9 J3 u/ ^ - <property name="maxActive" value="${db.maxActive}" />, K1 r+ t+ U- C
- <property name="maxIdle" value="${db.maxIdle}" />
% Q9 _: L4 W# x0 e4 C0 u0 z - <property name="minIdle" value="${db.minIdle}" />
6 ?: U% r* ^2 S) G - <property name="maxWait" value="${db.maxWait}" />
( Z. O9 n8 `/ D0 E: f" E g* d4 g9 B! C - </bean>
. K# A; ]/ Y3 A6 N -
9 }5 W* {; Y- Q$ h - 4 k5 \6 b' f' x& x6 F
- <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
0 e3 }) G. w, f; \# K - <property name="dataSource" ref="dataSource" /> $ L" U# t4 @. _1 @0 ` r
- <property name="mappingDirectoryLocations">
* R+ @8 k6 V c/ q# |; @ - <list>
1 h8 `' |3 `# d3 A* d. m$ U - <value>classpath:config/hbm/</value>
( m9 ?! b# o X( B9 p% _ N - </list>
R0 F: E4 U# q7 `1 M - </property>
5 A# e% W( ]0 H - <property name="hibernateProperties"> ( o3 m6 N6 q0 y0 x4 a; A2 a
- <props>: u9 i1 o' n' J9 @5 V- L5 v! T* F
- <prop key="hibernate.dialect">${hibernate.dialect}</prop>% ~2 Y2 M7 w/ K5 m
- <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
6 o* `5 x! j+ R- o& C) ` - <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>. N0 Z8 b$ n% \
- <!--<prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop>-->
4 j2 ?% o# [+ G6 x; O$ b - </props>
* b" D- m- |# v6 ~, V3 S& C - </property>
: _' r& N) U+ }" p; M" [) Z - </bean>( i. a# q/ e' |* g) j% o
- ( l' F: [, S& D
- <!-- 声明式事务 -->
' X3 y0 Y& A k( N - <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
! U1 I- N9 c. e% f; |3 u/ r' C4 X7 J - <property name="sessionFactory" ref="sessionFactory" /> # B5 e$ v- S9 {* {
- </bean> 1 J3 D( X. C4 _
- $ q1 j! I% b/ }% `
- <aop:config> . k2 M- }; k; N) j L
- <aop:pointcut id="productServiceMethods" expression="execution(* com.service..*.*(..))" />
5 ], N: w& J8 Q& g0 U9 ? - <aop:advisor advice-ref="txAdvice" pointcut-ref="productServiceMethods" /> . I8 n& N- U4 P0 s
- </aop:config>
8 K4 ~4 |9 G" I; h4 F6 i -
* G- U- E* a# u0 R - <tx:advice id="txAdvice" transaction-manager="transactionManager">
, i. g! Q& D# H |. L- N) Z! q; Z - <tx:attributes>
1 P% Q# H4 ~! _+ M+ N! o* l - <tx:method name="save*" propagation="REQUIRED" />0 e8 O2 X, Y2 Q, `& ~
- <tx:method name="add*" propagation="REQUIRED" />
) ]: x* C% @1 S9 z, u - <tx:method name="create*" propagation="REQUIRED" />
n/ d$ o& e3 O7 E; R8 x5 e! E - <tx:method name="insert*" propagation="REQUIRED" />; K2 N Q+ \" Q( v. j
- <tx:method name="update*" propagation="REQUIRED" />' ~# i3 f/ G; ?0 K" X Y9 }
- <tx:method name="merge*" propagation="REQUIRED" />0 |4 O7 D- }8 f% J3 @
- <tx:method name="del*" propagation="REQUIRED" />3 ~0 W" l9 b* C$ U, m& p4 L, b0 u- v
- <tx:method name="remove*" propagation="REQUIRED" />* Q7 C: J! X) c4 I7 T' y$ r
- <tx:method name="put*" propagation="REQUIRED" />& D, J P& Q" U$ e, o2 w }* m3 _
- <tx:method name="*" propagation="SUPPORTS" read-only="true" /> j" x& O Z) B4 X/ O0 ~
- </tx:attributes> 3 V# L7 D* B1 A m
- </tx:advice>
& n/ x2 C" b. H. [6 ~ - </beans>
复制代码 spring-mvc.xml:
) H- Z+ |$ ?4 x' `) i5 q
* J$ ~+ l) { t: b7 _- <?xml version="1.0" encoding="UTF-8"?>) ^8 j( Y& S( a }7 F
- <beans xmlns="http://www.springframework.org/schema/beans"$ A' d4 I6 F d, q# m: h2 x4 l$ \
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"( c% T* V7 ^* z, `! I3 K& p
- xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
1 G" T: f I' i' X! P* W6 ` - xmlns:mvc="http://www.springframework.org/schema/mvc" t Z+ |7 B9 O+ L
- xsi:schemaLocation="http://www.springframework.org/schema/beans
7 H9 E& ?9 g+ E, C% V7 _ - http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
$ m/ ?' v! W; S" ^3 A { - http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
% g4 p. T: X! a# m8 v, g5 T& Q+ U1 k - http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
1 H" p( P4 c& H; m4 c9 d - http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd8 q% ^8 m) x7 K9 Q6 X
- http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
3 ?, M8 z' p, ^3 c9 X: q& M8 _: f - <!-- 自动扫描的包注解 -->
3 I2 e4 i6 [' B( { - <context:component-scan base-package="com.hoodo.rci" />, [: c: S E- _2 S
- <!-- 自动注入 -->, ?+ ~5 ~4 G% [. w0 k& c5 }
- <mvc:annotation-driven />$ J, O7 G; ^2 \! a: s; ~$ K+ u( ^
- <!-- 视图解析器 -->
( O9 _' C1 h+ @( {4 k+ P - <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
" ?4 H1 O, X8 R* o0 V6 P* W# v - <property name="prefix" value="/WEB-INF/jsp/" />
* l2 h/ c, |3 L5 b: B1 m - <property name="suffix" value=".jsp" />
6 N1 E b4 u7 r4 u3 ~0 k9 i+ h - </bean>1 R a$ m5 p: Q
-
) |" F) q7 U& x' f* Y+ W% t - <!-- 异常解析器 -->
3 i# d: v% @7 k! A - <!-- <bean id="simpleMappingExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
( z6 x5 |4 p9 p0 m - <property name="defaultErrorView" value="common/error" />
. V8 H6 v+ y: t - </bean> -->. s9 s; J- T$ b! x
- : z2 N& `& i0 d1 O; y5 X0 X
- <!-- 拦截器 -->
: ?* h! r* ]! Y0 S+ W* ~" h - <!-- <mvc:interceptors>* C5 `2 u S1 w* Z% _' E
- <mvc:interceptor>1 N0 O6 {4 s2 K% ]1 `7 m
- <mvc:mapping path="/admin/*/*" />
* P2 m( g) g; g4 f0 c! ` - <bean class="com.filter.CommonInterceptor"></bean>& c- c3 {, A( F( k# m
- </mvc:interceptor>( z& q+ O0 L3 p& P0 m5 i
- </mvc:interceptors> -->
' ]2 S) w0 y' w
8 k( t- ^9 _" x& R. N- <!-- 上传文件相关的配置 -->
# i4 C) F( u3 c( C0 q1 I - <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> X3 y& _+ C7 |% c
- <property name="defaultEncoding" value="utf-8" />4 Q7 t5 Q' y/ j& h
- <property name="maxUploadSize" value="104857600" />
' X% z1 D" ?* W, V - <property name="maxInMemorySize" value="4096" />
9 w* i7 q' \. m( y% q) Z" ~- i - </bean>
8 S' s0 r; P/ _5 u - </beans>
复制代码 5 Z- Y+ ~" D8 j2 ]
; l! |1 F; `& f7 Y5 D2 f
]6 p9 h# w. N1 E6 h0 N$ Y4 xSpringMVC+hibernate4.3+Spring4.1整合案例
/ o% Z8 v2 k% r4 e& f6 N/ v/ v2 J3 I6 x l% N3 ?
|
|