TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
spring+hibernate+struts2集成,注解方式配置。6 f9 ~4 t" T' E: F- P2 {' Z w
2 j' g* h: D& [1 z( K2 \/ C1 c' G! d
BookInfoAction.java:
& W9 ?1 f) @! q7 {- /**+ I. b6 } T. c2 {% Q7 D1 B
- * 8 W1 h$ j! [3 ]& y D
- */+ `1 E# E( p8 b, Z
- package com.s2sh.annotation.book.action;
6 \0 W0 Q, _' q2 V- l - import java.util.List;' j" O O' e; m3 ]1 ^5 N
- import javax.annotation.Resource;
6 `/ ]/ I, Y5 j5 J1 y Q) `. i" E - import org.springframework.stereotype.Controller;
, R1 j$ J! ]. o8 ?5 b" k - import com.opensymphony.xwork2.ActionSupport; c* H* Z" y4 e) W( b! r
- import com.s2sh.annotation.book.service.BookInfoService;0 o X+ A: p* b; k# g9 V$ ~2 X$ J
- import com.s2sh.annotation.entity.BookInfo;6 A; X' p7 \6 @+ F
- import com.s2sh.annotation.entity.PageBean;5 m: t6 e. _ A; B" O
. @, A3 n* J# P7 P4 v* ?4 S- /**
* `3 l6 g2 A5 P0 W1 c! d - * @author Administrator# `8 G- t! ]2 \ U
- */ `* w3 y. {3 c+ b" I* ~
- */+ T; g2 m: `! b! o$ y7 x2 [
- @Controller // 标注控制层对象
7 V) Y7 P. S8 ?' W" _3 _% f - public class BookInfoAction extends ActionSupport {
. u5 I: Y* B- v ~! T - / k4 {+ Q8 H) ]$ |5 q( ~# o! V8 w
- private static final long serialVersionUID = 1L;: q7 {& B+ e5 M: Q4 k, m! C2 r
- G# _# X1 N$ p7 t/ b( u8 R4 q9 [4 w4 L
- @Resource(name="bookInfoServiceImpl")
) A6 [3 x6 @4 i+ k5 d - private BookInfoService bookInfoService;
! I6 J9 R+ b1 q( _ - # I% _+ r3 j2 A1 o# ~
- private List<BookInfo> books;3 o2 F" c9 o; ]& A- t0 u6 C) Q
- private PageBean pageBean;
) o! t2 g4 ~& I7 t - private BookInfo book;
1 Z* z* t# T w ^" i( N q( C - 4 A8 `* `$ A' Y- `& d8 v$ w+ I
-
M O1 R" C7 G/ {* \ - /**
& a8 l& q# }1 } |; C; l' ? - * @return the book' p" h1 v# l9 M$ N' t0 n0 g- o
- */: r# \! g: x9 K
- public BookInfo getBook() {( T7 q J; z1 h$ p7 d
- return book;% M$ R# d. c; U, g, f2 j& }9 M
- }) g% K+ v+ \, [: X
- /**5 \/ u5 {7 O* a. `, \2 Y
- * @param book the book to set
* E* c: L/ v; Y7 w; x# B, l( h - */
/ `3 }+ a9 \* @" |1 b - public void setBook(BookInfo book) {
6 W9 e$ _( w: j1 x - this.book = book;( I$ W& P% x! z6 S6 [& n! ?- _; S
- }( L8 d" ?; |; _+ h1 A* `2 Y
- ' P! Y8 x/ r W
- /**" Y2 p: V( E1 _! I" U1 r
- * @return the pageBean
' Y4 u. j% u- Y, y& K+ p - */
! V, w" X2 i! S7 \% e - public PageBean getPageBean() {1 o7 w9 t/ }) L' [$ n* q/ B
- return pageBean;
: V. o3 L3 D; D( ? - }
- v# `& W1 I+ j& y$ |! ` - /**( A" l1 v( e5 o) h) [% _4 A
- * @param pageBean the pageBean to set% X* C8 Z3 F% {5 c/ [' {( W
- *// g$ ^9 ]. }+ Z/ T" V3 ]& j
- public void setPageBean(PageBean pageBean) {
$ S5 |; e1 m) E9 O- R1 I! l - this.pageBean = pageBean;
1 Z: G) L% j( H; e! r - }; z- c# R8 ^8 w- p. s
2 T# z$ {. }3 ?" m- /**
; u' F( b7 R2 m: s7 Y - * @return the books4 I% H6 k* L$ _& @
- */& R7 g2 N" T! p- ]
- public List<BookInfo> getBooks() {
, g0 z. Z8 P( E0 n! t& Z& c - return books;3 x- }3 f+ o7 k! j" m
- }' ]" H; `" E, l+ X9 S
- # H% D" Z( r2 @2 e
- /**
3 z4 @0 N# A4 T8 L; W& G5 x8 t - * @param books the books to set' Q& B8 U* F: z
- */
( d8 d' E& n9 _* m2 ?9 A4 a - public void setBooks(List<BookInfo> books) {+ D: n4 e6 V3 k+ A9 _
- this.books = books;4 i" ?4 w% R$ ^, v3 b
- }
' b- A0 u) Q- o- m
# U' L9 a/ H) C: h# b- public String showBookInfoList() {$ j$ j+ J- x4 u+ _& D) b% `, _
- pageBean.setPageSize(5);
9 c( p, D2 X" V. H3 N* R2 ^ - this.setPageBean(bookInfoService.getPagingByBookInfo(pageBean, book));" j1 i6 g( P3 W
- return SUCCESS;5 G, q% ], I1 c# P
- }
) f& H1 _. p2 o' T1 s
4 i; g+ Z, j2 y" b- J$ h$ k# b5 ]- }
, f6 f: F; ]: C, @ _0 @
复制代码 applicationContext-persistence.xml:
% m2 U, f3 m Y2 g4 m2 ^1 a8 ?- <?xml version="1.0" encoding="UTF-8"?>
- E) P4 _8 R- r+ @2 d2 w9 m - <beans xmlns="http://www.springframework.org/schema/beans"! ^1 E5 h! o& v/ [
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
/ p4 `5 v* v9 }4 u+ g+ `" \! _5 | - xmlns:context="http://www.springframework.org/schema/context"1 W f0 q+ p6 K' Q' c" f
- xmlns:tx="http://www.springframework.org/schema/tx"3 g& O, t! d4 X
- xsi:schemaLocation="http://www.springframework.org/schema/beans
' c( ?! x: D d. E7 T - http://www.springframework.org/schema/beans/spring-beans.xsd ( s* T/ ?5 ?2 A1 l
- http://www.springframework.org/schema/context
3 t' v% E% u. a9 ]! ^7 u' V - http://www.springframework.org/schema/context/spring-context.xsd
2 k+ z! y+ A8 c( v! H - http://www.springframework.org/schema/tx 8 i+ c% K `( W! e- f
- http://www.springframework.org/schema/tx/spring-tx.xsd">
* y+ A7 r- y8 U( R - <!-- 使用注解方式装配属性文件 -->
7 r' o! q! }" }: M3 Q) `, @) s - <context:property-placeholder location="classpath:hibernate.template.properties" />
1 ^' R" z# C/ w# L, v - <!-- 配置数据源 -->
% n3 ?- B" M$ V9 f7 s! T - <bean id="springDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
7 i; \2 ^0 E( T; u* k5 _0 j - <property name="driverClassName" value="${hibernate.connection.driver_class}" />
: L8 s: \' n8 |( z' N - <property name="url" value="${hibernate.connection.url}" />' d; Y7 d, \* d6 z/ O' P
- <property name="username" value="${hibernate.connection.username}" />
6 j4 C" J* j: m; T2 s& k2 ? - <property name="password" value="${hibernate.connection.password}" />+ x0 J* P* p2 N9 J( l/ z' ]
- </bean>
* S5 h! m! Y5 T/ }% d. b - 2 }$ Q# N$ }$ I* S, f1 P+ p+ m
- <!-- 整合sessionFactory对象到spring容器进行管理 -->" a- R* j, ^( Z
- <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
; j$ P, f$ H: D) ` s - <!-- 把spring容器中的数据源注入到dataSource属性中 -->! V# }. G2 A. B' W; M0 ~
- <property name="dataSource" ref="springDataSource" />
; r0 o) I9 U4 A; P! I6 a - <!-- 扫描装配需要管理的实体类 -->
$ M- c' }2 n; @2 F# D" R - <property name="packagesToScan">
% b2 d6 {' L# d' A. l# E6 y - <list>+ l% d8 c$ C0 l6 W5 \+ d
- <value>com.s2sh.annotation.entity</value># `# ?; {& e. _4 J0 Y5 c' t
- </list>
1 v; o5 z) g9 i6 g- i% D - </property>
& b6 r! u2 ~. u$ ?0 D1 h - <!-- 配置额外属性 -->
8 d! b" k( q2 P - <property name="hibernateProperties">' W# b9 r6 ~$ L R( a) \* Q# N- k' q
- <props>
' L. a9 g4 u& [" v O Q - <prop key="hibernate.dialect">${hibernate.dialect}</prop>* G2 E, G( z( O* E+ Q
- <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
0 K- m& X+ R! `& ]8 E# P - <prop key="hibernate.format_sql">${hibernate.format_sql}</prop># x- i p" v K5 {4 b# A8 {
- <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
, [: _: d( Y& N - </props>
9 s" g0 J2 E# ^+ ~8 O3 u, Y - </property>
6 e5 z+ d& e$ N: r: f: L - </bean>" r) u! h" a+ k* L1 i/ O5 G2 w
-
N: g! e6 {/ V8 J7 F/ r - <!-- 配置事务管理器 -->6 o5 ~4 |' X+ u0 O2 |: T7 o
- <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
. r# z1 b* z* I* ?0 a- L - <property name="sessionFactory" ref="hibernateSessionFactory" />2 z! w% Q Y9 {4 \" e) t
- </bean>
6 {% D, [! U) z* t - 8 x/ k7 U# u# h7 }0 T
- <!-- 使用注解形式来管理事务 -->, Y* l! n* D z' d- X1 G7 v
- <tx:annotation-driven transaction-manager="transactionManager"/>. j; Z5 C# j3 v1 u9 T
- 0 U8 J, m. {3 w2 _2 g3 z
- <!-- 启动自动扫描方式将需要管理的组件纳入到spring容器进行管理 -->
2 H1 D1 T0 _. p5 g% @% d6 y - <context:component-scan base-package="com.s2sh.annotation" />8 }. N C/ e8 [- n6 Q9 c& b
- </beans>
复制代码 struts.xml:
" e- h. O: m' V; ~, L k( E0 A- <?xml version="1.0" encoding="UTF-8"?>! I: o! Y- y" u. A6 Q0 z& {
- <!DOCTYPE struts PUBLIC
9 Y7 P' J" o1 u/ b1 u+ g - "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
& s) U9 U0 O! q y. g5 P/ \4 a - "http://struts.apache.org/dtds/struts-2.3.dtd">% k. d1 p0 R1 d+ B/ i( Z: }
- <struts>& ]/ _9 n7 X+ i% e" X8 ~
- <!-- 把struts创建Action对象的权力交给Spring容器进行管理 -->
2 {! U' S2 W8 q- ^2 p# O- V# k* K" P1 X) f - <constant name="struts.objectFactory" value="spring" />: w7 |1 y7 U5 K6 c( o
-
o+ E2 ^$ _' g" S6 k: J2 @ - <package name="base" extends="struts-default" namespace="/" abstract="true">
: Z+ _ Z, f) d) H" s -
o6 b* R# d3 k - </package>
: E5 F1 y5 w- w1 s4 j% k9 [# S - 1 u$ c1 i+ s+ E$ v) [/ r, S
- <include file="config/struts-bookInfo.xml" />
1 w$ n S, p' O( ]$ N+ H! `& }' g. [ - </struts>
复制代码
$ u) H) T* Y% [" xS2SH三大框架采用注释整合项目案例
% ^! A. m! b6 D6 T解压码:! v$ p: l* R$ b8 N6 Q
1 F8 ^3 S; C# T5 |2 r# D
3 A# A9 W7 k5 c9 x, l
2 d' |" C; `1 L' L6 w, M |
-
总评分: 帮币 + 1
查看全部评分
|