TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
spring+hibernate+struts2集成,注解方式配置。
/ W8 H9 m4 x Q. u
' p2 y9 ^' |2 M+ y- hBookInfoAction.java:
/ J) |" g& M; g+ Y- /**
/ @' D! ^# P% l - *
. g- m& m# C$ @/ y: p/ Z* P( v - */
6 C% D3 p2 d& J1 U4 k9 Y+ G) L) ~ - package com.s2sh.annotation.book.action;
4 D9 C9 ~1 {" y1 @3 ^2 ~$ X# s - import java.util.List;& [5 n; \ l) M. a+ q4 Q
- import javax.annotation.Resource;. j! O5 h, R- g/ {
- import org.springframework.stereotype.Controller;
S q+ [, Z' ^ - import com.opensymphony.xwork2.ActionSupport;
+ |3 d9 l7 w# G - import com.s2sh.annotation.book.service.BookInfoService;
% i4 y% d) g5 g& U& V3 A - import com.s2sh.annotation.entity.BookInfo;$ z$ g5 r! s. B7 I
- import com.s2sh.annotation.entity.PageBean;+ F, M! q4 t6 \4 Y- s' I. V
- 6 h$ i0 w! }4 c, b( H
- /**
1 i# o# r2 b( x+ ]" q& V - * @author Administrator4 w" h2 j. R* R g. ^, T
- *
\) _5 W4 D! z h1 Q - */
6 z/ @# e2 C5 T a+ S - @Controller // 标注控制层对象
# X7 m; h1 U9 m - public class BookInfoAction extends ActionSupport {
& H3 r" C0 T5 G; b# g5 e
7 j4 ^+ i* X9 I8 F3 D; M, p% V7 }- private static final long serialVersionUID = 1L;+ R7 i- u9 `- R2 B
-
@' `: D2 V# N! O - @Resource(name="bookInfoServiceImpl")
/ J5 C# R4 O# `& q5 I( h5 R - private BookInfoService bookInfoService;' i+ e3 y( ^: v
-
9 D1 X1 U7 X# ~ - private List<BookInfo> books;
. ?/ g Q6 l) s* W; F! e/ M4 |* A - private PageBean pageBean;$ L6 o% L/ k. f' m/ e
- private BookInfo book;
8 t5 V5 D1 f' k% F# O/ N2 t& q( m - ( |' D" A. d* w( ]5 M
-
# Y7 Y' X! b) X - /**
c+ v0 C* P2 Z/ j4 { - * @return the book
: ]+ c5 l% p: ]; T p - */
" R3 d7 ~% u3 _, K2 j - public BookInfo getBook() {
4 A$ A! u# `8 s+ g! s3 d: } - return book;
# T6 h8 q8 l- }* h - }7 H. e1 A; p0 ~( O8 v0 |0 U" H
- /**2 b1 ^! X. f. y
- * @param book the book to set$ z4 E y& P% B* q4 [5 R& ~" ]% ?
- */8 P4 U0 }( v& }5 b+ x5 `4 D1 a
- public void setBook(BookInfo book) {
5 C8 s& {1 W( G. I, z y) R - this.book = book;: C( c6 Y- k" D: v
- }
1 t3 r& h/ e3 h" |( v1 ^ - & ]2 V7 h" C) L+ r# F8 E. z3 S
- /**9 G& c4 c3 d% m9 }
- * @return the pageBean" p6 C {( _$ B7 j* j" ] h, t
- */' B% N1 m+ o# x& m) a+ C$ f% I
- public PageBean getPageBean() {
& _- j& _5 s8 H* o# f - return pageBean;
) X1 X" a1 V4 t3 T* w - }
# k) Z& x) ?7 s7 }6 q+ j" g - /**
" a4 E9 `' W" g - * @param pageBean the pageBean to set
/ x* Q* m) y! v9 P, M3 z& ^" ]# v - */4 a1 I9 r, r0 ]5 c* {5 a* N! {
- public void setPageBean(PageBean pageBean) {* m3 K3 c1 S8 m6 K! J4 B n }8 n
- this.pageBean = pageBean;/ o/ j8 x* S3 X3 O3 t% w4 N
- }) }* d: P! R5 H( }/ `5 x/ L( H z9 o9 \
* M. T# v" X) z# [ H+ |- /**
! W N z8 v5 U' |" Y. ^ - * @return the books7 m- x% I7 k/ u4 a6 _3 M1 ^5 @3 A
- */9 K, D9 |7 r _
- public List<BookInfo> getBooks() {- p% _, H- l: u% H1 D
- return books;
% K+ ]/ V7 U, e4 j2 | - }/ S- ]5 N. a1 U5 o7 F1 Y
- 2 A2 {3 A# g: J
- /**( @: b, V6 V3 ]$ I7 m0 @
- * @param books the books to set
J' \6 D u+ \2 a8 v; m5 A7 R - */
( k" d- F4 V' O' f% u - public void setBooks(List<BookInfo> books) {
4 Q0 e/ I: ]4 Q3 T7 z/ g- p - this.books = books;
1 b+ ]/ }7 ^6 o/ V/ ?0 Q& I - }
! \0 k, o9 j4 b* |
; e' y. s7 |+ {+ C. O8 U/ t' w- public String showBookInfoList() {9 P9 N) a( |2 x
- pageBean.setPageSize(5);: m2 q! _' G" z( X$ v2 P8 S
- this.setPageBean(bookInfoService.getPagingByBookInfo(pageBean, book));
7 S: W) h# K; Z2 L0 T+ s7 x1 T3 u - return SUCCESS;5 } D2 }; p3 g$ @
- }! j5 y: C3 Y; A/ A, N+ u C6 A) F3 m- x
L; r+ u, k/ w9 w) t- }
) k8 l5 o: d+ q* a8 F
复制代码 applicationContext-persistence.xml:+ S) h$ c' ^2 C: `
- <?xml version="1.0" encoding="UTF-8"?>( r' O+ U6 V) {4 ~
- <beans xmlns="http://www.springframework.org/schema/beans", J3 l) w6 H% S: f
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 P) _( F1 Z) b$ C) [! P1 V - xmlns:context="http://www.springframework.org/schema/context"$ Y/ r9 J4 h$ c, T. ?! b* P4 x1 N4 D
- xmlns:tx="http://www.springframework.org/schema/tx" F( A! ]: [3 e$ `$ Z" f! |( I
- xsi:schemaLocation="http://www.springframework.org/schema/beans ; ~+ i0 m! D2 N' f: [: r
- http://www.springframework.org/schema/beans/spring-beans.xsd
2 H/ K5 X6 C5 @! A - http://www.springframework.org/schema/context
0 v/ f$ `/ _9 W: d( }& A2 B - http://www.springframework.org/schema/context/spring-context.xsd
8 i$ C" X8 N1 F8 I7 X0 Y! G - http://www.springframework.org/schema/tx
; I0 q0 g, ~5 e - http://www.springframework.org/schema/tx/spring-tx.xsd">6 z) P/ K% O' d; ]! C6 Q9 I
- <!-- 使用注解方式装配属性文件 -->: r e" t9 b, n% c+ L4 d
- <context:property-placeholder location="classpath:hibernate.template.properties" />
) S1 W8 a; l1 t" ^% ~- D7 g; } - <!-- 配置数据源 -->' n W7 W# \9 y/ C% o$ T
- <bean id="springDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">9 K: I, [9 W0 v1 z/ l: D; r
- <property name="driverClassName" value="${hibernate.connection.driver_class}" />- p5 G a% F% J- @' b/ Y( @
- <property name="url" value="${hibernate.connection.url}" />
/ K$ m0 H) M9 I: Q - <property name="username" value="${hibernate.connection.username}" />
8 _& g. \3 W+ B# H x! B/ ?3 a, t7 R - <property name="password" value="${hibernate.connection.password}" />. K* L9 `7 @* T; a
- </bean>
* O+ `3 u `* x - 4 o- _ w( W6 o" C$ M6 I
- <!-- 整合sessionFactory对象到spring容器进行管理 -->2 y8 T# O. `& k
- <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
5 x+ C3 I1 l+ e6 W/ \ {2 g - <!-- 把spring容器中的数据源注入到dataSource属性中 -->4 ~3 R9 s* R' e1 S
- <property name="dataSource" ref="springDataSource" />$ m$ P- O2 k) z
- <!-- 扫描装配需要管理的实体类 -->
1 z8 }# g$ O4 E) J - <property name="packagesToScan">
9 N" b' q! B% z - <list>7 h4 {; h( Z: w8 W6 `% E" b/ \
- <value>com.s2sh.annotation.entity</value>3 [" b1 X7 L" A& i: B2 ?, W
- </list>
; |4 F$ o- O0 O) U N6 k$ \ - </property>
6 [2 w- i5 c" i. S1 k: T/ U - <!-- 配置额外属性 -->9 K; Y* u8 K. U+ I) T+ l8 j% V
- <property name="hibernateProperties">6 H* A( F, @7 ^: ~' [' f3 j# k
- <props>
M6 N# H0 N% E! k - <prop key="hibernate.dialect">${hibernate.dialect}</prop>
% Q% l( @4 ]/ _9 z5 F - <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> q3 j& P6 B0 O% t: s' d) x
- <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>2 B- l9 P! C! j) |' l9 ?2 `' H/ X
- <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
3 D6 C0 i" a9 O- a - </props>5 _* [* F* q0 t- u7 z3 D: x" b& \( T
- </property>
4 ^% k" J- E: ]2 v- k - </bean>8 s% a* o/ P( a$ M3 F
-
& O$ ^7 o u5 x8 g& q7 L - <!-- 配置事务管理器 -->/ r5 x ?% W( Z
- <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
1 F' `! P7 \4 @, x, f% L" ?5 R; X - <property name="sessionFactory" ref="hibernateSessionFactory" />
4 P% p0 Q0 k! Z- S* Y- S& K - </bean>( A8 B& V: g. M1 Z, ]7 v$ y
- 4 }9 C* h9 ~5 m
- <!-- 使用注解形式来管理事务 -->
6 i* t% D4 k1 z# n% q4 g - <tx:annotation-driven transaction-manager="transactionManager"/>( }+ ^# q4 d- A4 q
-
: q( _) W) q# h4 H: R - <!-- 启动自动扫描方式将需要管理的组件纳入到spring容器进行管理 -->
! \( m: y+ C/ C. b4 t - <context:component-scan base-package="com.s2sh.annotation" />
9 U# y4 k. n" ^2 r: h3 b - </beans>
复制代码 struts.xml:) y( ]+ K6 {) i# C# w+ w
- <?xml version="1.0" encoding="UTF-8"?>2 q- [1 y1 }% p# ?
- <!DOCTYPE struts PUBLIC4 o6 x9 O- G3 Z8 S8 \
- "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"8 b% S+ s- D) S3 h8 _4 W
- "http://struts.apache.org/dtds/struts-2.3.dtd">' N+ \, o$ D! A
- <struts>
2 r- Q8 q$ {6 {9 v2 B7 I O - <!-- 把struts创建Action对象的权力交给Spring容器进行管理 -->
! X u$ H6 P1 H+ @ - <constant name="struts.objectFactory" value="spring" />5 s5 H: z/ J# F0 g: z( F2 Z3 v
- 8 e8 I" Y8 [7 M0 @
- <package name="base" extends="struts-default" namespace="/" abstract="true">+ b6 d0 {) k4 A$ Q
-
) t8 I; t$ X# K7 M9 x - </package>
% d* k& e/ e7 Z; `5 U0 p7 v( x4 V5 ^ -
4 U; o+ I! g# @! b) l - <include file="config/struts-bookInfo.xml" />
" Z- E1 `& v- {9 A5 H5 P/ ` - </struts>
复制代码 ' N8 K4 a( H/ B
S2SH三大框架采用注释整合项目案例
2 z4 V$ s( M# `8 X6 M3 X解压码:, t, `) O9 A L. |' d: \
; z, h' S: P( ^. w- p- y: V8 L; F# u- v; x2 v0 N! _) g0 c
5 Z" u+ `! j3 @) V+ V |
-
总评分: 帮币 + 1
查看全部评分
|