TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
spring+hibernate+struts2集成,注解方式配置。+ q. ^: o3 p5 _& H
% @) b# k; D5 |# q3 Y7 v I* L$ U
BookInfoAction.java:
* o$ ]) S0 ~" r- /**/ G9 d2 _5 |9 b. k/ T- C$ P
- *
' e0 U8 F, N/ i. I4 `, | - */
: F0 [+ Q: `9 g - package com.s2sh.annotation.book.action;
/ I# G; y+ @+ }2 O; m - import java.util.List;
# W' Z) o$ A& u( Y% L - import javax.annotation.Resource;- g/ d& A, R3 N
- import org.springframework.stereotype.Controller;0 N$ I' z! r5 R& N6 o! ~! [. T
- import com.opensymphony.xwork2.ActionSupport;
7 M- h1 Y$ m: T+ \ - import com.s2sh.annotation.book.service.BookInfoService;
6 C0 g) m( x. }4 y, p: d - import com.s2sh.annotation.entity.BookInfo;
: n! A6 W# f5 d5 c( W. P4 V - import com.s2sh.annotation.entity.PageBean;! g3 M r6 l ^8 I: B8 k, Y
- 9 D3 I% d( F# ^" O3 [- x- R
- /**& s4 E$ @) W/ ~/ @. Z# x
- * @author Administrator/ K8 l1 d' y% r. L
- *
; ^" e R7 V% \( l4 L k& m - */
- ]4 ?7 C, X1 z - @Controller // 标注控制层对象
/ o1 c" g. q0 M" @ - public class BookInfoAction extends ActionSupport {* c- Y. f; E) o# A
" Z- }8 i+ Y+ K5 \+ p- private static final long serialVersionUID = 1L;
1 C t) Z2 Y, A! j9 m4 m - & ]/ Z0 e0 q& u5 y$ [" w/ U
- @Resource(name="bookInfoServiceImpl")
$ n" t6 V& k6 j* K5 h - private BookInfoService bookInfoService;& p$ ]. j0 A1 K
-
2 z( X# [, M4 B2 X' D - private List<BookInfo> books;
v2 B! I) J6 [ - private PageBean pageBean;: ?& o1 u+ D( y3 n4 T
- private BookInfo book;& X, j. e: k+ g, v C9 d: k
- , h6 N5 t4 K1 m3 ?: n5 S
-
; A' { K' V* B. A - /**
6 ]: @) W1 {; {! h, ^1 L5 A - * @return the book$ i& y" Z% `0 W
- */
1 Z9 W( w a3 [4 F% @ R& c - public BookInfo getBook() {
# K7 r% c, v2 g2 U - return book;/ v Q3 Z5 N5 y) }1 X
- }. B+ c( T/ I7 ` A9 N
- /**
1 U' n/ R0 T& ^! [1 Q! w - * @param book the book to set
7 Y5 o* n6 o7 M# {' V% ^ - */
, M( Z6 y* l' S+ V2 ~ k1 } - public void setBook(BookInfo book) { M2 R+ z/ G! X' r
- this.book = book;
B7 q) M2 e8 P - } T' h/ M0 ^# P! U4 z1 w% U6 @6 R, K; n
- . N5 R0 l/ X. u! L% m5 }5 Z
- /**% S/ j' _* _$ n6 H9 c: \
- * @return the pageBean1 F. B; }) t% K. ~* X, ?
- */
! g; ?! K* C6 u) n' D - public PageBean getPageBean() {
; [0 W% l( V+ T; m - return pageBean;
. M- g% s, ^' M. ` - }( [' m( F/ l. C( @) m& ^
- /**3 j3 Q8 f7 H) `) C8 |; Q+ p
- * @param pageBean the pageBean to set
4 M0 r/ \. i6 w. _ - */7 r; n# i5 t6 n: h
- public void setPageBean(PageBean pageBean) {
; ~3 l& a) }) Q" U6 M - this.pageBean = pageBean;0 a B/ D# h# p0 u2 n
- }2 e% D0 S7 g+ |% ^2 ^
- 1 z, N. P! \; v
- /**; Y v; d! B8 H+ u9 `
- * @return the books
9 u' k9 T- ]) L$ o) P - */
% q0 [& v9 p+ {" X4 m3 `# L - public List<BookInfo> getBooks() {
& A+ C$ t1 T; M5 l' I& q3 D/ o$ t - return books;( T' V: q3 }% X+ M$ F5 a5 }
- }
" I E$ w1 ^# e, v
0 `1 x% A4 F" n* U: m+ R# K* S- /**
6 Z' C- X" n, o1 Y1 N; w2 E - * @param books the books to set
$ O0 F. ~9 w$ e/ I0 M - */
7 c. R: j" j1 f% @( K$ Z, G5 M - public void setBooks(List<BookInfo> books) {6 @1 a( u* B- H! ? ]
- this.books = books;9 m$ |! V) p0 Q4 l; R# K1 B" e6 P* ^
- }/ J8 M; I% x" C# T j, E" M; J4 n" {
: W' Z" V7 [, Q/ F$ \& t4 \- public String showBookInfoList() {
4 A8 V* h. X; H! G( Y6 i - pageBean.setPageSize(5);! D% w, N+ O2 X/ x) o5 D- m
- this.setPageBean(bookInfoService.getPagingByBookInfo(pageBean, book));
( ?/ x* E$ t# Q$ d - return SUCCESS;/ N) [ J0 r8 S0 c/ J5 W
- }
6 E. q4 [6 x, y% U5 g6 ^ - . G5 \7 ]1 x: r/ d$ S
- }
& R9 X# y* n6 p
复制代码 applicationContext-persistence.xml:! A. `4 M) H2 O* y0 U5 Q
- <?xml version="1.0" encoding="UTF-8"?>& p+ J; B; \, v& p
- <beans xmlns="http://www.springframework.org/schema/beans"; D& A, ~% t( F; N- ?) u5 j' l
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
) {2 X) h& A! ]1 C. u7 Q# ? - xmlns:context="http://www.springframework.org/schema/context"7 L4 }* o8 y# Y! n* q
- xmlns:tx="http://www.springframework.org/schema/tx"3 x. c3 ~& r) l! v
- xsi:schemaLocation="http://www.springframework.org/schema/beans & k4 f( C8 O% Z; D2 j; M
- http://www.springframework.org/schema/beans/spring-beans.xsd ' ~% P J: P7 \. H0 C6 S3 n
- http://www.springframework.org/schema/context
3 s, m7 c. g# U3 V3 Z - http://www.springframework.org/schema/context/spring-context.xsd
" N! T% a$ B8 H& u; P - http://www.springframework.org/schema/tx
! z, ]2 B1 y) B8 M" }: k7 t: l5 ? - http://www.springframework.org/schema/tx/spring-tx.xsd">) h$ U5 Q1 `4 @+ ], P1 Z
- <!-- 使用注解方式装配属性文件 -->' J9 |! J! d; }: r4 E: K
- <context:property-placeholder location="classpath:hibernate.template.properties" />
) Y' \2 y7 k" U( `) Q( T( F5 I+ V - <!-- 配置数据源 -->2 Y& T8 S7 d7 |# M
- <bean id="springDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
9 ?) q$ K5 F: U/ w- J - <property name="driverClassName" value="${hibernate.connection.driver_class}" />" Q8 [! e" i% i! j% y7 q8 |
- <property name="url" value="${hibernate.connection.url}" />, Q( e" x6 }. V# k# y8 X. x
- <property name="username" value="${hibernate.connection.username}" />& n0 m: R8 W8 {
- <property name="password" value="${hibernate.connection.password}" />
& h% ` N2 u' Z$ j* q: S5 m - </bean>5 O- \6 k$ |5 I+ D
-
Q; W& [4 |7 Z1 ^ - <!-- 整合sessionFactory对象到spring容器进行管理 -->% b. s+ `/ u. R6 A6 _) g
- <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">/ p+ n+ z! X& x7 G7 {5 f
- <!-- 把spring容器中的数据源注入到dataSource属性中 -->
9 a/ J& O5 p. z# B - <property name="dataSource" ref="springDataSource" />
9 q' ]7 C, q' P, v9 g6 u - <!-- 扫描装配需要管理的实体类 -->& ?6 y' F4 j P' T8 k2 y; w
- <property name="packagesToScan">
4 }9 M( w4 } w2 D. E0 C- o0 { - <list>7 N& d8 W- W/ V, [, `7 J
- <value>com.s2sh.annotation.entity</value>4 t1 n* y0 I, ?8 M- i$ t
- </list>
. X% j- B0 n# C3 {# v/ ` - </property>7 O- h E* u2 C3 n1 F
- <!-- 配置额外属性 -->
; M% ~6 E$ c% \( f - <property name="hibernateProperties">! A7 k9 ~ w6 B( `
- <props>2 q. S! \2 f( f) \. d9 h
- <prop key="hibernate.dialect">${hibernate.dialect}</prop>
& P5 G! X# ^$ L0 _9 L - <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>/ `* D% N/ i, I/ @# R' I3 D1 [
- <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
! V/ |: z+ t3 u# } - <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>: F/ q9 k, T3 y/ \8 P
- </props>
* D! c, o% E3 z - </property>
2 M4 K$ n* Z. e6 m- v, U - </bean>9 T \ `8 o6 R0 V9 e$ z& a3 @
-
1 I4 h7 j2 J' e# c% Q - <!-- 配置事务管理器 --> j9 c& o1 ^7 R* B7 d$ j* n$ m
- <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
0 T$ [# E( N r: V* \/ X1 d - <property name="sessionFactory" ref="hibernateSessionFactory" />3 t9 Y: T: @5 _; k2 a2 E
- </bean>
0 c$ q) O q, G# N% ? B -
1 Z' ]' x# C3 q' E4 e3 g. f - <!-- 使用注解形式来管理事务 -->
. g9 ]5 q* }, n1 X( M0 o- \8 N - <tx:annotation-driven transaction-manager="transactionManager"/>
, a/ x0 O5 z7 F |$ G - 1 K- z% S7 o) \" L
- <!-- 启动自动扫描方式将需要管理的组件纳入到spring容器进行管理 -->6 R$ w7 D, [, D% y# q* J
- <context:component-scan base-package="com.s2sh.annotation" />
$ T% k9 |! O/ A8 x. [ - </beans>
复制代码 struts.xml:8 f' p7 L6 H4 X5 [* r, Q4 m! n5 H
- <?xml version="1.0" encoding="UTF-8"?>
# y9 S/ y6 g# ]$ [6 C% |# d& v - <!DOCTYPE struts PUBLIC
8 i4 C }) ?9 m/ S0 o$ z - "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
' ~4 g( M% b' ?* V - "http://struts.apache.org/dtds/struts-2.3.dtd">
. H6 P. S1 a, O7 W( M - <struts>: e+ t2 _0 Y$ J
- <!-- 把struts创建Action对象的权力交给Spring容器进行管理 -->
5 T' ]2 `4 B& @ - <constant name="struts.objectFactory" value="spring" /># P$ c+ s+ y: h
-
4 k4 B& R6 Z# D - <package name="base" extends="struts-default" namespace="/" abstract="true">9 ^2 f( O2 c. }2 L
-
# v1 Q! ^ ~' [( ^4 n - </package>0 I* ^; }! s {7 T' C/ M0 W7 K% b
-
( d0 I" }! W( u - <include file="config/struts-bookInfo.xml" />. E' p' R$ O3 l1 W' q3 ]
- </struts>
复制代码 ! D6 V" X0 o5 M9 [2 a2 R/ ]% H
S2SH三大框架采用注释整合项目案例& f7 ]( O. ?: G! J
解压码:; D- x1 Q* c4 W: d" `: o' X0 Z
/ i% O3 f5 s6 r9 V1 ~% T) h
& L, u, N# `5 E6 b
! Z; l+ p/ D5 R5 ~: J |
-
总评分: 帮币 + 1
查看全部评分
|