TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
spring+hibernate+struts2集成,注解方式配置。
& r x* A P0 n# W9 G. c7 R, W! J! e7 k' A5 R
BookInfoAction.java:
2 u& m* o/ z2 \, E- /**: |( h2 U& `, X& @
- *
}6 r9 @, q% v7 x; j- I4 F6 ` - */
+ L& j$ m) z( j; G- b - package com.s2sh.annotation.book.action;
; s9 E) N) ~4 [+ I - import java.util.List;
7 Q6 l9 u6 ~1 S! Z" G( L, m x - import javax.annotation.Resource;
2 w. I2 o( t! d1 r$ v' {$ v5 @ - import org.springframework.stereotype.Controller;6 P, q$ n2 a3 r8 l% v$ a6 Y# n- L
- import com.opensymphony.xwork2.ActionSupport;+ @2 P3 o8 S) ~0 E; C
- import com.s2sh.annotation.book.service.BookInfoService;
4 R% Z& A ` k) V7 g - import com.s2sh.annotation.entity.BookInfo;9 i4 ?+ ~0 K7 O2 C! J( R
- import com.s2sh.annotation.entity.PageBean;
% R, v2 V* t/ j
- E" g; k4 B1 i+ x8 S- /**
( c0 q0 j7 }' s& L6 T - * @author Administrator
1 E8 n1 | {& H' S7 X - *
7 \9 P+ e. v" v2 p - */
. j0 N ]$ ^* w( {% j! S7 @ - @Controller // 标注控制层对象9 [1 K. t1 z2 a1 a5 i
- public class BookInfoAction extends ActionSupport {
0 V! J% u7 }" P9 H/ b7 \! t - ! \& B- c& `; k8 L1 ~$ V
- private static final long serialVersionUID = 1L;
8 [( x* T# H& W4 P& Q# R -
- L2 D6 K, V6 Z- f - @Resource(name="bookInfoServiceImpl")7 }% p2 M9 X2 r$ X6 x
- private BookInfoService bookInfoService;) k/ b7 x$ p# l, h. \
-
* L7 _' D, d8 D* z - private List<BookInfo> books;/ S1 k2 H4 [6 M/ O/ w1 s
- private PageBean pageBean;7 M7 X$ d2 d0 T7 R4 m. ], @! Z
- private BookInfo book;) x6 Y/ s, k8 ]
- ' a% E. d3 q+ p& }
-
) Z6 u( D/ J4 S - /**
2 ^ C2 ?6 D; S" l& g, | - * @return the book; [5 |; Z' X4 d
- */
; t7 z0 X. k1 N Y - public BookInfo getBook() {2 o1 y' ?+ y' ~% p4 C% J
- return book;
# D5 E6 `, U1 T0 j! @* E - }
. e+ S7 y% O; |8 O/ d. ] - /**
5 t8 I& x# V5 {' H" f - * @param book the book to set5 F) n2 U R3 \ ?- c. a
- */
8 M1 N5 L! C& B! A% |8 l7 x) o - public void setBook(BookInfo book) {2 ?2 p! } j6 I2 G U% T
- this.book = book; w& k) _. Z1 ?2 e \% y) e* H* H, u
- }$ j/ m6 ]9 O% S& K
" k3 q- H! O: f' k! ]! `" k- /**: h Z7 v$ ^3 Q9 }/ z* F
- * @return the pageBean3 F' x0 V9 k- b4 {: ]
- */4 J3 ^9 i% B6 p
- public PageBean getPageBean() {; W( c2 v& R9 I6 K5 r) O/ L
- return pageBean;. B' O# n, M' |& z3 U# e
- }1 Y5 V+ R7 [4 h( T5 Q* z
- /**+ C8 y+ s9 P/ x0 c$ @* u9 ]2 G
- * @param pageBean the pageBean to set' p) {. [) K2 _
- */
% y G/ l# U& O, X8 r# e' P8 x - public void setPageBean(PageBean pageBean) {, @: F$ E1 P( W* W0 Z- P
- this.pageBean = pageBean;
8 r6 {: c2 G0 q' ~8 [& @1 x - } ^: T0 J9 d. D1 Z6 Y
- 5 s, }+ g' [! w* M
- /**
3 b# x8 J8 l9 p! U6 ~ - * @return the books8 r1 M& J8 H$ K- z
- */$ ?$ ]$ O% [$ r' K
- public List<BookInfo> getBooks() {$ c. r6 _$ \3 }' b5 `8 G
- return books;
1 p0 \( J3 y4 X# a( I. T U9 I) L - }
) {7 Y; a A( f- j6 s- R - 7 {% A8 I+ \9 f D% v/ R* }1 f
- /**0 _$ @# i" R& f0 }) ?) A
- * @param books the books to set
0 N7 v6 c3 Z7 k y B - */
! j" P* X& _3 ^5 j% ~, R - public void setBooks(List<BookInfo> books) {9 c4 p, e8 \: z- a" @
- this.books = books;$ m6 q/ a+ ~$ T! V5 p5 }6 Q8 E
- }
/ B: w- ~9 r+ D6 ^% S - $ i G/ \1 _- r9 H. {+ ~8 j
- public String showBookInfoList() {
3 d C Z$ ^: H- J) z - pageBean.setPageSize(5);% t: R) x3 i8 S9 s
- this.setPageBean(bookInfoService.getPagingByBookInfo(pageBean, book));( K3 X1 `0 h4 Q, z/ O
- return SUCCESS;
% ^! u6 I) P. @: P- V3 C - }
( h! w$ Y9 u' X0 I! z% M - * F) g, C: [/ S% `
- }) W( r7 w3 F7 i. H3 R
复制代码 applicationContext-persistence.xml:
$ u4 r* e3 b- n; m; m8 ]$ R- <?xml version="1.0" encoding="UTF-8"?>8 W- q6 ]: }5 D! }9 r* U
- <beans xmlns="http://www.springframework.org/schema/beans"
' M N6 ]/ c/ ?: d# D/ R( I - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
$ A! a+ e* _0 A& O! w9 ?( l - xmlns:context="http://www.springframework.org/schema/context": u1 @& D* I! j n0 }
- xmlns:tx="http://www.springframework.org/schema/tx"
0 H% m9 r# c2 G5 ]! j - xsi:schemaLocation="http://www.springframework.org/schema/beans
' t& n3 P& f) Y4 a5 N - http://www.springframework.org/schema/beans/spring-beans.xsd r2 } D% N7 R- b% m2 o7 Y- K- \
- http://www.springframework.org/schema/context 9 t6 e9 D% S ]; |+ ^
- http://www.springframework.org/schema/context/spring-context.xsd 2 o3 W2 K. X$ c, _3 j
- http://www.springframework.org/schema/tx
* m! N1 O4 c0 W+ i - http://www.springframework.org/schema/tx/spring-tx.xsd">- b; s+ P3 y, z( @
- <!-- 使用注解方式装配属性文件 -->
# \4 l( i- G/ w) D% x4 ` - <context:property-placeholder location="classpath:hibernate.template.properties" />
, h" D& O8 O9 e) G7 X. w a4 o" O - <!-- 配置数据源 -->* ^. k# Y: H* q9 O# Y" a- L
- <bean id="springDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">: t0 X9 d9 [8 g8 w$ z7 S" x
- <property name="driverClassName" value="${hibernate.connection.driver_class}" />
9 V- ~" A2 }+ e. x - <property name="url" value="${hibernate.connection.url}" />
9 v& N- M+ M/ ^ - <property name="username" value="${hibernate.connection.username}" />
2 T& ^0 E: F5 w0 U4 Z/ l2 | - <property name="password" value="${hibernate.connection.password}" />
6 U0 h) C, B, G9 W2 V - </bean>+ W% C9 D" K- n0 P: r
- 7 F6 e6 ^5 x& [9 W* ]: K8 P* `( M' [0 @
- <!-- 整合sessionFactory对象到spring容器进行管理 -->+ P! u, ~ T; ?9 J* o/ z
- <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">" ^, P0 {/ C0 h+ l
- <!-- 把spring容器中的数据源注入到dataSource属性中 -->
4 Y& ~1 P2 U% h! o1 I" i5 r1 u - <property name="dataSource" ref="springDataSource" />
% R( F5 A' f. ?) n - <!-- 扫描装配需要管理的实体类 -->
7 \: S' _7 E' W- C3 H - <property name="packagesToScan">6 ]/ ?, ?6 A2 [% c/ j
- <list>% v- n0 O$ ~9 e3 ~
- <value>com.s2sh.annotation.entity</value>
# r" G$ ]! v) [, q9 f+ `# H; ]5 x" ~ - </list>9 W" ^$ b. k6 F+ i& C7 k
- </property>% s0 o/ _" ?; h: i: L& s9 G( n; k
- <!-- 配置额外属性 -->
" {+ `8 t5 I9 Q - <property name="hibernateProperties">- e% l7 t2 T6 S! i( M' V
- <props>
& X- ^( P0 N' [3 S: ` - <prop key="hibernate.dialect">${hibernate.dialect}</prop>! e' {1 K L* `! ^3 Z$ T/ \2 }1 F% J
- <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
8 p$ a3 f4 C* I, j1 r! w - <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
1 ^: r9 W$ B/ S, F# G6 m) |, n - <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>1 ?1 r# `- \6 n. b$ O
- </props>
/ [( `3 F3 M1 O7 o - </property>
6 u3 g: t! I% j7 G- l - </bean>
. [% M, E5 [" T) H& K6 O -
; F, i. T f/ ~. i, Q5 n5 y5 O2 P - <!-- 配置事务管理器 -->
( b9 p3 m U W# _ - <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
* ?, g- I, G- [0 ]3 F$ N+ A - <property name="sessionFactory" ref="hibernateSessionFactory" />1 p: t8 S$ M$ G& l8 x, H/ n( o
- </bean>5 n. O# S7 [1 \3 l$ z @6 E
- : A1 p4 A7 n' X
- <!-- 使用注解形式来管理事务 -->
# _0 E, h; a$ B4 V5 ~! ] - <tx:annotation-driven transaction-manager="transactionManager"/># r! f* [; s, K. E! R5 d R% X
-
( q- v" c$ \: E5 ^! i7 X - <!-- 启动自动扫描方式将需要管理的组件纳入到spring容器进行管理 -->
& v8 l. V M7 w; r0 q' k - <context:component-scan base-package="com.s2sh.annotation" /> j/ R! B$ r; x7 A" S9 w
- </beans>
复制代码 struts.xml:
: t- L" C4 _( ~+ Z: V% P- <?xml version="1.0" encoding="UTF-8"?>
, @! f* P, t; ]4 |8 p4 R' c - <!DOCTYPE struts PUBLIC0 k( [. u) B* ~+ k5 @; O* b% {
- "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
. G" Y% O' e% k - "http://struts.apache.org/dtds/struts-2.3.dtd">" n2 P4 {0 {9 ?$ n4 c
- <struts>
: S0 X, ]7 Z' n& K( P) }# k - <!-- 把struts创建Action对象的权力交给Spring容器进行管理 -->1 V( H* ]$ X2 N$ `7 u. x* \
- <constant name="struts.objectFactory" value="spring" />
3 S- C; Y. o* W# Q# \; ]& b! K# ^ - - t ~ c& j# u9 C9 T7 G0 T
- <package name="base" extends="struts-default" namespace="/" abstract="true">
% G$ ^5 Q& _: d0 K -
& \ o6 F; D5 r: U; S - </package>
9 N- m, |* n$ s$ P - % @4 q6 \' x9 h* @+ ^8 v3 W/ l9 `
- <include file="config/struts-bookInfo.xml" />
6 X" b' v+ t9 `* Y - </struts>
复制代码
2 i G+ C( q% J9 j5 k& Q" w) BS2SH三大框架采用注释整合项目案例. ~ T. d, K& @; Y5 F
解压码:9 }7 `: Z3 h& y. h1 X; _
+ ?) {3 c' Z1 \3 w6 k
4 B% @# y+ a+ S( k) @2 J' V( Y( T7 \' R* t0 M$ M7 h% D9 T
|
-
总评分: 帮币 + 1
查看全部评分
|