TA的每日心情![](source/plugin/dsu_paulsign/img/emot/shuai.gif) | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
spring+hibernate+struts2集成,注解方式配置。
H4 H8 |& [8 @, i+ X' O" q) c$ ?9 u4 Q1 k- r
BookInfoAction.java:- \7 A! B% N0 V' Q3 G1 a, [; h. O
- /**, w$ V% D$ h) n% o; B
- *
- ?6 v3 A$ }- ?# D: F3 `) M M1 P! ^ - */4 X1 |& [! ^' {1 b( a+ b
- package com.s2sh.annotation.book.action;( i: i! {1 k4 S) O
- import java.util.List;9 o3 w! [) d3 ]8 T
- import javax.annotation.Resource;2 a2 f9 F/ ]7 Q
- import org.springframework.stereotype.Controller;
! A7 S* d* j9 `0 c9 a' P# n; h - import com.opensymphony.xwork2.ActionSupport;) M0 `' C7 V# D+ O" Z, o ?( D6 L
- import com.s2sh.annotation.book.service.BookInfoService;
/ G% l; R# E2 r0 U3 ~9 a - import com.s2sh.annotation.entity.BookInfo;8 r/ W5 n. V% E9 F
- import com.s2sh.annotation.entity.PageBean;* t5 C* a! r, K, [
- P2 ?# u4 Z* v% F! C+ {- ^+ j- /**2 D. n z7 S" `
- * @author Administrator
9 N! a3 _) v5 C/ M: D - *3 c. g* C' [% F+ U" [& w0 {
- */8 @6 }, L" K; S, f d& X
- @Controller // 标注控制层对象, a6 J& s. @4 n# T% W% ?
- public class BookInfoAction extends ActionSupport {
" c6 V1 H$ k9 v& W - 8 {3 r& Z/ `% O8 P6 z
- private static final long serialVersionUID = 1L;
* q0 B* P; l$ v! N* I2 ^ - ( {3 K2 }8 a: s! I
- @Resource(name="bookInfoServiceImpl")% S6 h7 t8 T! b; p, ]
- private BookInfoService bookInfoService;0 X& s/ P8 U" f J# y- N( f# z
- 1 e; h! f- c; X/ f. s* V
- private List<BookInfo> books;0 s2 n1 g& P: R1 Y
- private PageBean pageBean;
" `/ B' K! w2 D5 a( j- L - private BookInfo book;
5 E& A% m; i2 N - ( K% ? k' t$ D! [( b. R4 X
-
. o$ i4 h, i. A C9 ^& N - /**) A: F H) u% O( `7 Z
- * @return the book0 s B& j% Y. i9 p" b# m
- */# Y- C j! ]2 ^$ U0 N' N& S1 N* i* z, K
- public BookInfo getBook() {
; q; a' q7 x# @. j1 k H) Z - return book;3 W) v& b2 o) _
- }$ E6 a& A7 y( }1 m3 z
- /**, |5 Y! }$ D$ Q9 r& R/ w: [) R
- * @param book the book to set# T, Q/ }' j8 H% |* f- \# q, F) N
- */9 U3 Y0 f/ S% Q9 ]3 N1 z8 b/ D8 w
- public void setBook(BookInfo book) {) k% c+ H* C9 E3 ]8 y! ?
- this.book = book;6 E# D. n8 N) r- }5 q# {
- }0 i2 T, X5 r2 i! n$ p' B& e [
- . L3 D3 j( h R, |# e. h
- /**
: W ^# r9 i, U/ X) x9 x6 w6 N - * @return the pageBean
0 {, F& x2 G! ~7 H - */
2 E# b1 I7 _3 Q9 \0 _ S - public PageBean getPageBean() {+ O7 k4 I* }3 B; q
- return pageBean;
9 \/ V& ]2 u* P, ?2 Q - }
; ]3 \% I9 e- v5 J - /**6 x* b5 k; O" E
- * @param pageBean the pageBean to set
, H& n3 D, b& ~% M) Q - */
& z* O( K1 d7 M& s* k - public void setPageBean(PageBean pageBean) {
" Y3 A5 E3 q( k) i$ f) f - this.pageBean = pageBean;
' J+ r2 ~( Y b- Z2 H - }1 o- r! [0 \+ f* y& C6 U
( \8 }0 ?) }4 E7 {- {& e- k- /**
$ {6 D/ R8 o$ r: Q/ s& t" v - * @return the books
( E. q3 f O$ w! _ - */
E ]% l5 T1 v6 L - public List<BookInfo> getBooks() {
6 `! w3 `. O) ^ v - return books;6 ^! ]# {, {, ^, }
- }7 g7 X: n, @3 r& v. k6 p/ {
8 ~1 v9 T1 [! {4 H8 i+ @- /**- D: j: k! [! Q
- * @param books the books to set
( H: i/ M# V2 k1 P# ~ - *// |% l& o* Q0 z- \. W' b
- public void setBooks(List<BookInfo> books) {+ B1 j4 |4 u( t3 a' d$ z5 U$ W
- this.books = books;* s2 p/ N5 E- H
- }
# g% g, K% e$ z3 F" R
' ?" Q+ I8 ]( ~5 j8 e& b- public String showBookInfoList() {# l6 s2 p9 c/ D9 A2 f$ N t
- pageBean.setPageSize(5);
$ z, Q8 g6 c% s- B8 [) [0 F - this.setPageBean(bookInfoService.getPagingByBookInfo(pageBean, book));
, l: x# g b1 t - return SUCCESS;( q" {: u: l! [# O. [
- }! m k* d0 f+ E9 B" M5 U
8 }8 R7 S( ~$ i6 D% \- }& W. I. S% ^ L& P
复制代码 applicationContext-persistence.xml:
% a3 G; A3 X" `2 j- <?xml version="1.0" encoding="UTF-8"?>, K# Z" c( R' x2 b
- <beans xmlns="http://www.springframework.org/schema/beans"/ |2 B) G2 L/ |. X/ j
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"8 R" e+ o# M' e; P' R; i
- xmlns:context="http://www.springframework.org/schema/context"7 B# Z5 A6 @ G: X9 ]( _( F
- xmlns:tx="http://www.springframework.org/schema/tx"
3 T5 ^6 V2 o6 }4 s2 W - xsi:schemaLocation="http://www.springframework.org/schema/beans
. D `4 p# N6 P$ d) Y - http://www.springframework.org/schema/beans/spring-beans.xsd
* w/ ^, H" r5 n' ^ - http://www.springframework.org/schema/context % O! E( S) x4 \- h
- http://www.springframework.org/schema/context/spring-context.xsd 8 f7 D% x# T# T* M0 n2 p- h) |
- http://www.springframework.org/schema/tx 1 y7 h" l- t% C* h* H& Z4 [9 N, B2 P
- http://www.springframework.org/schema/tx/spring-tx.xsd">% D: G6 {7 ^7 d. m
- <!-- 使用注解方式装配属性文件 -->
' `+ p/ L2 T7 j4 m9 a - <context:property-placeholder location="classpath:hibernate.template.properties" />2 z8 L: O! F( ]- m8 g8 q
- <!-- 配置数据源 -->
c$ q0 A5 r' C - <bean id="springDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">6 c Y+ e( X% M0 y3 }; z6 E7 r3 \
- <property name="driverClassName" value="${hibernate.connection.driver_class}" />
* E- i; E$ f6 ?, G# G - <property name="url" value="${hibernate.connection.url}" />
9 X' W+ ]" P# \! N' t. L1 V% ? - <property name="username" value="${hibernate.connection.username}" />6 n- _8 d( l4 r R8 D7 V
- <property name="password" value="${hibernate.connection.password}" />
/ t9 s# w$ ]' d: E - </bean>
5 c! _6 d) Z7 ~6 l - M- y& z5 Z3 N' p, V8 [
- <!-- 整合sessionFactory对象到spring容器进行管理 --> x0 ^; G4 I6 |/ \$ Z6 j k! g
- <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
7 S, g1 K( i5 ]: E - <!-- 把spring容器中的数据源注入到dataSource属性中 -->
9 ]# G7 u$ c1 h5 b5 I9 ?7 X. s - <property name="dataSource" ref="springDataSource" />$ z3 H0 D6 X) g: ? S, j
- <!-- 扫描装配需要管理的实体类 -->
+ K) G" z& W7 M+ W/ G - <property name="packagesToScan">
+ P0 |/ _6 C, m2 Y' L( G - <list>3 k$ _! p, h9 w; y7 W* z# [+ F* ` @
- <value>com.s2sh.annotation.entity</value>
4 |. A; U; {2 e8 _ - </list>" T( |( {3 {6 d& h* x4 y/ @
- </property>
( ^* y( i9 O* C - <!-- 配置额外属性 -->2 H( W' R, a- d. q
- <property name="hibernateProperties">. J7 o" k3 _6 r' T8 ]2 q& r
- <props>( W" L' w8 A+ I5 K5 a
- <prop key="hibernate.dialect">${hibernate.dialect}</prop>
! z, K* P& A" Y7 {0 S - <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
; y2 M9 j0 _: |0 x - <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
4 t, h, S u% r2 E - <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>6 W0 ^5 D% P. M8 Z2 o! ?
- </props>
j& T n- R3 ]; _- k2 w - </property>
6 Y) v$ H$ ]8 x+ }. t: |7 V - </bean>- s l) k3 v( s
- " J1 C) R2 ^! J
- <!-- 配置事务管理器 -->
/ h- T _' Q) {8 r$ M1 Y - <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">) p+ B# n2 o$ c% @, U
- <property name="sessionFactory" ref="hibernateSessionFactory" />
\5 k& a, v1 q' S5 ^% v - </bean>0 l' A. @8 a9 T4 p
-
! @- F, N! S1 T7 V, l - <!-- 使用注解形式来管理事务 -->
+ U2 F- Z1 o% `. t% |' ^ - <tx:annotation-driven transaction-manager="transactionManager"/>
; d, m/ Q1 f2 K6 V7 H* ~ - + d8 Y, A1 X! y
- <!-- 启动自动扫描方式将需要管理的组件纳入到spring容器进行管理 -->
/ a( N, H4 y. y; Q6 d% y - <context:component-scan base-package="com.s2sh.annotation" />
) G3 [! z1 @" L% K - </beans>
复制代码 struts.xml:
( ?7 ]$ }, ]9 T! y- <?xml version="1.0" encoding="UTF-8"?>
7 i: ?( O% @$ {1 w* p - <!DOCTYPE struts PUBLIC
. z9 g4 o* r$ c2 L: I8 e8 Y5 U - "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
/ X9 w' w! Z! k, z& @7 k" K7 ? - "http://struts.apache.org/dtds/struts-2.3.dtd">
; w2 ^% @4 M( a6 e+ \ - <struts>: H$ ~ `0 m# U( W
- <!-- 把struts创建Action对象的权力交给Spring容器进行管理 -->
5 N3 _0 K& J3 D$ l& a - <constant name="struts.objectFactory" value="spring" />
D& n" D$ o/ i& { -
! G- c& h2 r3 ~. f1 k - <package name="base" extends="struts-default" namespace="/" abstract="true">
+ U- S$ [+ B' ~3 {# X -
: f/ T. c9 k9 ?" U - </package>& j: M1 e- f8 |- g
- 8 |5 b* R K2 }4 g% ^/ w9 q
- <include file="config/struts-bookInfo.xml" />6 j6 r0 K8 C/ n ?
- </struts>
复制代码
6 k; e5 s* Z0 e P" z9 iS2SH三大框架采用注释整合项目案例) c; r3 o, V0 S& _8 w
解压码:$ ~! r+ |! _6 W, f4 n, H% Z
B& T- X0 B U G0 N" x z) O" R1 ]# B* b
2 `- N; D3 q- p1 ?6 ^
|
-
总评分: 帮币 + 1
查看全部评分
|