TA的每日心情![](source/plugin/dsu_paulsign/img/emot/shuai.gif) | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
spring+hibernate+struts2集成,注解方式配置。$ u E& U7 z1 Y0 G
' P* \' ~7 n* U; a6 F
BookInfoAction.java:
' w2 R* v, v$ ~: d% J! o5 F; k- /**
; G6 [0 S9 O: j2 u1 |" B - *
9 b, v, f0 j6 W6 V, s- ]+ Y& P - */7 Z' ^# w: k+ b+ S6 c+ s
- package com.s2sh.annotation.book.action;! {/ G3 e3 ~' H% H% d- R5 ]
- import java.util.List;
( K7 @4 _* d# K- A! u - import javax.annotation.Resource;
7 q# z) C- W4 P0 U- T- m/ ] - import org.springframework.stereotype.Controller;
2 k4 @/ C) d6 ^1 I0 C6 t: h - import com.opensymphony.xwork2.ActionSupport;7 }, B' l, X: i8 u/ B2 M. s
- import com.s2sh.annotation.book.service.BookInfoService;
- D9 K' g) f+ E; r0 C' H& H - import com.s2sh.annotation.entity.BookInfo;( E- s: u# y7 t( B7 D2 {, z, }$ y
- import com.s2sh.annotation.entity.PageBean;
4 L4 n$ f& L( s( O! q6 v - $ W# a7 ]4 \ ~6 T2 D
- /**
9 m( L. B' L+ b, s - * @author Administrator
j0 [% g: [+ d: @) L) } - ** \) S9 F! Y7 W7 f) Q* r( r6 {: x
- */" ]! l7 n; i5 ~1 a4 u# c
- @Controller // 标注控制层对象
# j; o% w4 }/ y! K - public class BookInfoAction extends ActionSupport {4 O% | E% L) ^5 G% } D+ _. }
- ' w6 r0 n7 n# X5 t ]0 U4 Y
- private static final long serialVersionUID = 1L;
/ ?6 D: D4 a7 l- x - % `& V }. f4 ^" h4 c5 t
- @Resource(name="bookInfoServiceImpl")
1 n4 o1 g) N& p0 i% ~; q9 M' F7 Y: ?* C - private BookInfoService bookInfoService;" k+ {' K! S# R9 w9 g
-
2 e. c2 _$ i. ?$ c6 s - private List<BookInfo> books;
' J- Y- y, g2 j( t9 y% g - private PageBean pageBean;. S- n6 M% R% s) c% d
- private BookInfo book;5 z( g; W; ]$ u7 @6 _# H# c; q/ F
- 0 E2 k) l" ?( W, z$ q
- 8 M% u3 P2 k2 k0 c) q r: X$ i1 E8 R
- /**' F; }; }) k9 n) O* O
- * @return the book
- S9 A; h# d. p/ Q7 K3 x$ c - */
) b e9 P* F- {4 r. w - public BookInfo getBook() {
# k5 B5 K: @" H& L+ p- T1 S- B! i - return book;
+ w9 R1 z% R2 \* d' ?( y" h! C - }, E' M3 |. o- }6 c# [! [
- /**: T- r; u' c5 B4 O4 m/ [) V
- * @param book the book to set$ V0 O- f2 \) c$ n/ }3 ]
- */3 A ?. {# S/ f3 N r4 U' \% m
- public void setBook(BookInfo book) {
* V$ Q: u( V3 r9 S+ V - this.book = book;
: C! d, q$ r, Z( G# z J - }
% s- G( N& Y4 X0 A( |
6 ?; X Z8 W- P5 f+ ]- /**' W: P C" f5 ]# E
- * @return the pageBean
( E& ^" G' J( M2 j - */6 r. }3 q6 z0 J) y. L: ]
- public PageBean getPageBean() {1 c; g. B& k! W( W! o
- return pageBean;
! e! d8 T; ~, i. ]7 [$ a - }: V$ ?1 c4 T. ~7 J- x' h# h
- /*** ?8 P0 R& x; J7 Y# |
- * @param pageBean the pageBean to set
; u6 y) J3 X: | - */
. x0 N( O' E3 B2 B0 o- [& @ - public void setPageBean(PageBean pageBean) {, p1 t) {7 x4 Z/ c- K; U/ H1 X9 O% `
- this.pageBean = pageBean;
- h0 y& ]# C" \/ r+ J5 O - }
1 O( `/ t- I* _' Z$ W
5 k6 {. S s# e4 j2 X; K/ G- /**3 o" Q: q' v3 }; ~& E; v( B6 t
- * @return the books+ p( ]! r. b/ m4 H C9 c! {
- */
3 S$ c7 }1 e0 j8 Q8 C - public List<BookInfo> getBooks() {
2 D1 \) n! J1 X4 Z9 A - return books;# J+ h7 x# j' |
- }
$ Z! `: X/ f: z; Y6 I. @% V - ; @! Z2 Y# T5 ]% |* k
- /**
3 B" M! t: J/ R8 \- Y - * @param books the books to set- {3 v) l% l* h/ q. \( z* K, ?4 b1 c) t
- */& A2 I- D8 x+ p
- public void setBooks(List<BookInfo> books) {; k% k8 e3 O" ~6 M: U
- this.books = books;
8 {( V1 F8 r: l4 t m, d. o; h' ~' c - }
" Y+ L* }; t9 D& s2 @: t, I - 2 ` c% \6 u* H$ m
- public String showBookInfoList() {9 G8 l, l& Z& {
- pageBean.setPageSize(5);5 X& \' b6 \# j6 L9 V9 r
- this.setPageBean(bookInfoService.getPagingByBookInfo(pageBean, book));1 M9 f' l2 |% b
- return SUCCESS;
% ?! Z* \* q; Q; Q" ` - }* x$ ~7 @& f5 n! w% U
- * j9 I$ b$ [' ]2 C) Z- a0 p
- }8 p2 ^' \1 H' v' [& Y! x
复制代码 applicationContext-persistence.xml:
0 B) m1 {; f; r1 ?1 R. q1 m1 O- <?xml version="1.0" encoding="UTF-8"?>
@) Q4 I6 |; e. @0 X - <beans xmlns="http://www.springframework.org/schema/beans"2 V6 q' A6 k8 ~& P% v( B
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' U+ S1 Z( ^8 o. R; g
- xmlns:context="http://www.springframework.org/schema/context"6 R" O/ F" m! B/ h/ T4 L
- xmlns:tx="http://www.springframework.org/schema/tx"
6 `( `9 p; _; E* G - xsi:schemaLocation="http://www.springframework.org/schema/beans ' D6 `* E* Z4 F4 w& S+ T* J+ i! e
- http://www.springframework.org/schema/beans/spring-beans.xsd
1 ~* c7 m) H! [! }7 [ Z2 }* O, t% N - http://www.springframework.org/schema/context : N6 z6 R* [* K$ Y: u* ]- i8 E
- http://www.springframework.org/schema/context/spring-context.xsd
- Q( q1 m* @8 [$ u2 v5 J: N, e: z - http://www.springframework.org/schema/tx
) R. j- v& _/ f& L( L. ~" Q - http://www.springframework.org/schema/tx/spring-tx.xsd">
+ j# N" C$ Z( C" W - <!-- 使用注解方式装配属性文件 -->
1 G4 n& V( A0 E4 @$ D2 A% ] - <context:property-placeholder location="classpath:hibernate.template.properties" />
7 f" u4 G6 L( a$ e8 W: v# u - <!-- 配置数据源 -->0 v! L; G% n3 A. E& X8 q* g
- <bean id="springDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> m2 X Q! V5 I' h
- <property name="driverClassName" value="${hibernate.connection.driver_class}" />
; C3 A+ k- m. w! P$ d8 }. l - <property name="url" value="${hibernate.connection.url}" />- e2 I3 F- O% `$ e" g
- <property name="username" value="${hibernate.connection.username}" />
! F z, n9 K$ {6 { - <property name="password" value="${hibernate.connection.password}" />% E! R5 u! W) s% b* a( b; p/ m
- </bean>
- n' k2 v7 d# i" V. M - * N+ `1 {3 j2 J# `0 Q9 T" T
- <!-- 整合sessionFactory对象到spring容器进行管理 -->
, H9 V7 _: Y4 D* \' j - <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">6 D+ T; ]* p1 P, r& F
- <!-- 把spring容器中的数据源注入到dataSource属性中 -->
9 R5 C' W+ V" i8 `) z* P6 a" F - <property name="dataSource" ref="springDataSource" />& V5 X; U! a4 c. b9 D
- <!-- 扫描装配需要管理的实体类 -->, F: L' [, z. O# H/ G" C
- <property name="packagesToScan">
% v' V* J- {, E% |/ h2 o5 e - <list>
! c! w! V T% u* _ - <value>com.s2sh.annotation.entity</value>) ^& T* }3 G) B }9 T" u
- </list>* ?; x& P4 U2 Z* h# z7 c! W
- </property>
! Q2 V% O2 k9 X0 p8 {& a - <!-- 配置额外属性 -->* Y- r* m9 z. k* z) n8 U* ^
- <property name="hibernateProperties">
- ^8 X( y8 m7 R' k7 ~ - <props>
$ F' ]& c: U1 R4 D3 Q; a - <prop key="hibernate.dialect">${hibernate.dialect}</prop># F+ o! s) \9 t( Q. o' \* D& l
- <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
5 y1 E. \- g; g. p5 a+ B2 q7 B! `! | - <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>3 [* {" u+ h5 [7 F5 s! F4 M
- <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
. y9 d" I1 \# f* f3 w5 _5 v - </props>
+ k* f) W( X; y! Q5 s - </property>0 P; w$ r; X1 s" _
- </bean>
2 [4 w, B' f# u -
8 {- V' z/ N) l6 x( M - <!-- 配置事务管理器 -->$ F9 ^9 @7 I* u6 f. J+ O
- <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
4 k; F1 F, l# c- W) i- C, V! D+ ~0 ? - <property name="sessionFactory" ref="hibernateSessionFactory" />1 m1 A3 G% Z; q& z1 U. T" H
- </bean>2 o, Z5 ~7 [4 U4 s3 |" K
-
3 n0 x# Z* g0 D/ d" I) ? - <!-- 使用注解形式来管理事务 -->
- I: ]# ^1 Q' m, H0 X6 n: u - <tx:annotation-driven transaction-manager="transactionManager"/>6 ~" ^) ]8 s3 m7 r* M
- 4 x9 D9 |5 I. f* l E2 A5 Q8 m+ d
- <!-- 启动自动扫描方式将需要管理的组件纳入到spring容器进行管理 -->& @( p1 N& ^* r
- <context:component-scan base-package="com.s2sh.annotation" />; w; K \, h. f
- </beans>
复制代码 struts.xml:
$ u1 B; v& x: f# |9 N- <?xml version="1.0" encoding="UTF-8"?>8 u6 V4 ^0 \8 b, B# B* P
- <!DOCTYPE struts PUBLIC
8 X, k) s# j2 N - "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
5 \. b7 x) m. |- T2 S0 n - "http://struts.apache.org/dtds/struts-2.3.dtd">, B* [3 {5 [, I
- <struts>
$ K* N7 J3 b7 J2 i" i2 V - <!-- 把struts创建Action对象的权力交给Spring容器进行管理 -->/ ?7 C+ m, ]+ T1 M {
- <constant name="struts.objectFactory" value="spring" />* e& v& O0 c' R0 c3 |
-
" r9 B, R0 x' ?) G( D# _ - <package name="base" extends="struts-default" namespace="/" abstract="true">
6 N l5 V& l% w# L l0 m. J; q2 T - ' H$ w2 u5 D9 O! y2 ?* l' p9 @5 i2 ~
- </package>; D e( _+ X1 M0 v9 y! P8 N
- ; q3 U2 R2 G/ D+ S* Q: T1 M. w
- <include file="config/struts-bookInfo.xml" />: W) n' {6 b, S
- </struts>
复制代码 7 e( l& g6 U7 c9 Q _. _7 B+ _ r
S2SH三大框架采用注释整合项目案例9 r! z' W' y( V7 l/ H( Q
解压码:
4 T/ L+ `: G, n5 J7 {. I( D. O* Q: O) e; l4 m' d6 G% U6 F
8 V! E: u5 `2 m/ N, C* h+ d# t5 Z" M" N* N" r, A/ |
|
-
总评分: 帮币 + 1
查看全部评分
|