TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
spring+hibernate+struts2集成,注解方式配置。
' `1 D1 I+ I4 H6 X* `
& }5 V+ E- z9 a$ UBookInfoAction.java:
# r1 i% S" j4 k* U( r2 j- /**
' i2 ^% p7 E' O' h! | - * ( K+ H: T/ z. q- `( v7 Z' Q9 w
- */
# {! _' i: e, B! F" w, T4 r5 ~ - package com.s2sh.annotation.book.action;
' I/ k0 S/ w. I f" N) @8 h: K2 F - import java.util.List;5 Q2 W4 v: d; x5 J: |
- import javax.annotation.Resource;
j$ {: T* c9 m' p6 }! Z - import org.springframework.stereotype.Controller;3 H9 g8 L: o/ i, o8 c
- import com.opensymphony.xwork2.ActionSupport;
+ K) ^) |/ E4 w# g4 w - import com.s2sh.annotation.book.service.BookInfoService;
i; N! o6 W( n6 ^ - import com.s2sh.annotation.entity.BookInfo;
! F$ P* q' d9 ^7 C+ G - import com.s2sh.annotation.entity.PageBean;( O/ p& V! G9 x, v. U% W7 F
- 0 a8 i0 A% C' y' L+ |) f$ \
- /**
1 z$ l. e6 g) `% i7 T - * @author Administrator
2 I' e+ D' X9 z - *& t3 U; o5 Z! l# \0 G# Y
- */
3 c, O9 V! B% t - @Controller // 标注控制层对象3 [) ]; @* b/ R+ ]6 d% S" z
- public class BookInfoAction extends ActionSupport {
3 u( G( i" k5 R" s- l, w
) j7 |3 Z8 Z& U) [9 c9 ^- private static final long serialVersionUID = 1L;/ V% [4 F, V6 f* F+ Z/ j
-
0 ?: Y2 x" v$ ~% V - @Resource(name="bookInfoServiceImpl")$ Q+ e3 Q# b$ Q4 z6 M
- private BookInfoService bookInfoService;; J$ D9 a# q5 T: C2 U( a
- 3 t" R6 t9 k& z2 ~" ?3 }' ~
- private List<BookInfo> books; K! Q. N: e( T
- private PageBean pageBean;. v/ ]9 B1 z8 C9 R) S+ y. F+ q
- private BookInfo book;8 {# K' v5 ^- ~4 `6 ]3 u
- , K' A* Y/ _# v K+ R8 v# V
-
8 R6 K) _/ [' |$ n9 j - /**, m7 M3 |' r" p0 f+ }, @/ a
- * @return the book& [$ \5 N8 X2 P" C4 c$ N+ }
- */5 z8 h5 _' {7 Z. m9 R; h8 [
- public BookInfo getBook() { K$ P* O# f: q6 w% x8 ?1 _# O
- return book;7 E; L2 e8 c! n0 b+ `
- }+ b$ f7 l( T# ]
- /**
4 P. S9 M7 r7 _) h' |6 q. V - * @param book the book to set. N7 t4 H* |3 g9 b5 h7 X
- */& B2 ^ p3 O3 v' W1 I" |% S7 ~
- public void setBook(BookInfo book) {
3 }0 ?- F. i# _6 P) P2 v - this.book = book;
o4 k) V& b( |, }6 [ - }
5 a' `- n2 I/ ]
9 Y6 j4 F$ \. j* x$ ?- /**5 ?+ Q0 r8 C# E0 r1 t; n! Q0 _
- * @return the pageBean
- a, E2 [' v% o8 j. V! S - */. H; v# K+ R& S2 P* J& m
- public PageBean getPageBean() {1 l$ y. Y' |, K, H" X! }
- return pageBean;
+ n) {% m/ D/ m% G1 O/ e - }% G6 y4 k3 h; e/ N/ c2 x
- /**
* ?" `* A7 _# v$ s - * @param pageBean the pageBean to set
3 k) Q, m$ ~$ V5 M" Z9 S3 w - */% j& f4 r7 r! d; I! Q+ e& c9 t
- public void setPageBean(PageBean pageBean) {+ q/ E" f3 L6 |* C7 N
- this.pageBean = pageBean;
' P# ]9 N- H. q% _/ b0 @ - }
5 I5 K7 L! w. v9 h. T4 F$ j
, E& j+ _* h4 q1 y5 s- /**
c0 g8 a" X: \$ x - * @return the books8 r! i# Y! {3 Y% U- F( S# ~8 u. M
- */5 \* T1 C; B1 ~# {
- public List<BookInfo> getBooks() {$ H! P3 C6 ?, W2 U
- return books;
$ U5 N0 d* t* B: M/ R, p2 t - }
& R# ]" g7 w" Q4 E" }; i
/ U* T6 T. \+ ~& _/ {5 P- /**; Q4 @$ g) v ~( V
- * @param books the books to set
- Q/ ^4 Q" W" g - */
7 |! `! F6 V, ~- `7 P- ^: Q - public void setBooks(List<BookInfo> books) {/ X* d6 {/ i% N1 V1 ]# L% T
- this.books = books;
* ]- H) _( X0 x2 L - }
$ c' r) Z4 ^' n6 C. h- d
7 s% X% \* p. x' M, b- public String showBookInfoList() {
9 @7 @1 o4 o) f1 ] c1 [ - pageBean.setPageSize(5);. L3 h& L I4 F; h
- this.setPageBean(bookInfoService.getPagingByBookInfo(pageBean, book));
0 A0 _% Z1 K( I - return SUCCESS;
8 ^3 ?7 w1 F1 |4 w9 K1 P - }: N6 }' f# J/ d/ y2 G& z7 T
- q& H6 B) R2 R5 o- }7 n6 q0 g3 K/ G, q
复制代码 applicationContext-persistence.xml:" S% I- M1 @/ q
- <?xml version="1.0" encoding="UTF-8"?> o1 E+ G! `5 }) D1 T
- <beans xmlns="http://www.springframework.org/schema/beans"+ Y% m7 |( ~, O5 J. W1 ^+ m
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; H. _2 o4 q$ O& l# |
- xmlns:context="http://www.springframework.org/schema/context"
5 w# M9 [1 p% X - xmlns:tx="http://www.springframework.org/schema/tx"
2 |( z1 N$ ^( t4 I- t2 ?, ^, u. l - xsi:schemaLocation="http://www.springframework.org/schema/beans 0 G; S9 Y9 H) ]. s6 u+ [
- http://www.springframework.org/schema/beans/spring-beans.xsd 6 }. w+ _# O# T6 i8 B
- http://www.springframework.org/schema/context # Y! @9 R) v* y1 d) |" O
- http://www.springframework.org/schema/context/spring-context.xsd
! O1 @% ~7 }- t' G7 Q& H - http://www.springframework.org/schema/tx & O, u% y: T/ a( f2 n5 U
- http://www.springframework.org/schema/tx/spring-tx.xsd">
/ ]7 g& N2 F" b; g6 f( M, u - <!-- 使用注解方式装配属性文件 -->! c; P$ F/ r1 I& ] U; o( E
- <context:property-placeholder location="classpath:hibernate.template.properties" />
5 v: @" D# H* F. v2 ` - <!-- 配置数据源 -->& G' h( r1 @4 b/ |" I
- <bean id="springDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
2 ?% V. f7 Y8 F a9 ? D- x - <property name="driverClassName" value="${hibernate.connection.driver_class}" />
, O, a! g8 u4 [: a0 l - <property name="url" value="${hibernate.connection.url}" />7 n! @ k# k% X! J
- <property name="username" value="${hibernate.connection.username}" />
' M3 u& l: y5 n, D. w - <property name="password" value="${hibernate.connection.password}" />6 r' @& I8 ]2 L& o
- </bean>& d, N0 \3 {9 b
-
1 O( m9 y4 z) V4 d. e5 H - <!-- 整合sessionFactory对象到spring容器进行管理 -->/ n$ O7 h( l l9 h+ d
- <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
: w& P' V+ ]: Z# V! R+ B - <!-- 把spring容器中的数据源注入到dataSource属性中 -->
1 }- Y! `. u6 g( ^7 ^+ v. P - <property name="dataSource" ref="springDataSource" />
" G& y! ]5 C d5 b2 Y" p( l - <!-- 扫描装配需要管理的实体类 --> V4 |# z8 t% G, D
- <property name="packagesToScan">
; I! q. q; ~' ?- M - <list>* Z( I2 q$ [- V) o: e& ~
- <value>com.s2sh.annotation.entity</value>
; a, F! y" ~& v n8 k - </list>+ l! p" i9 o& {2 E) c" ?7 ~6 r
- </property>& _, l# @1 ~6 W! T6 F
- <!-- 配置额外属性 -->5 r+ M r/ A/ j- f- u
- <property name="hibernateProperties">/ x" L7 [) m/ g& ?4 s4 f! @1 s* S( D
- <props>
+ S: J4 G6 J/ `3 z4 W% Y- A - <prop key="hibernate.dialect">${hibernate.dialect}</prop>
, U# c y3 c1 c4 Q* j+ B: j. B/ G - <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
9 w. I! K i ~" j0 Q A0 [ - <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
& R* P0 n0 l! ^: Q - <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop># Z5 W' X$ r3 X! }2 U N3 S* W; S+ F* w
- </props>$ T% O! V" H |! p, t
- </property>* x" t. N3 M2 ]2 N6 j# n6 R; b. o
- </bean>
2 W+ q8 `% H# d7 u+ e4 x. F" | - ) b/ V% S" e0 Z D
- <!-- 配置事务管理器 -->4 k' f& t4 j8 V- t+ p! [0 S; i& ?
- <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">1 c# D) r+ K/ ~ M! i# n' x& }- g
- <property name="sessionFactory" ref="hibernateSessionFactory" />
" n% Y+ l' g2 D% W4 c% S% F - </bean>0 w0 X, Z6 N/ b0 d
-
3 P4 Z& y5 y+ }4 V7 G* x$ w+ N - <!-- 使用注解形式来管理事务 -->* e/ b% K- E! }
- <tx:annotation-driven transaction-manager="transactionManager"/>+ i# Q) c2 s% e' j
-
9 ^( g7 m# `! |- `3 u2 B9 y; X! G - <!-- 启动自动扫描方式将需要管理的组件纳入到spring容器进行管理 --> @8 M4 b* O; _% t: y P) Z: E
- <context:component-scan base-package="com.s2sh.annotation" />. y( Z; [* {& @- s4 T. W2 e Q
- </beans>
复制代码 struts.xml:: d' {. U6 S4 w1 c
- <?xml version="1.0" encoding="UTF-8"?>( R7 S5 \3 C2 ?/ | e, F
- <!DOCTYPE struts PUBLIC& ^. T: {) J. P/ G, L
- "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN": i) p8 w4 ~) H4 {
- "http://struts.apache.org/dtds/struts-2.3.dtd">
; n+ c: s, _! R! m. F7 J - <struts>9 j& Q. m: P3 H7 v
- <!-- 把struts创建Action对象的权力交给Spring容器进行管理 --> j" ~0 D2 S6 }6 A( D" h% r! {
- <constant name="struts.objectFactory" value="spring" />
2 J' q* @5 S: E) z+ T3 W, \7 D: ?7 |3 C -
. X" v1 I+ ~7 P7 S# t - <package name="base" extends="struts-default" namespace="/" abstract="true">8 J' d) s# q0 P" l
-
* o2 N9 b1 n+ D& o# l2 a - </package>/ } @- p" B" r( l- a
-
0 ]! M, `& V. Q- m. \ - <include file="config/struts-bookInfo.xml" />' B( g% G% x$ P9 J
- </struts>
复制代码 ! b* b' f g& O+ q5 q* p0 Z- v
S2SH三大框架采用注释整合项目案例
$ X" v6 t6 a4 B- r9 {! m解压码:
, t/ Q1 P. R! D8 ~$ d
% d! }+ F4 g% z, @" z+ N
3 ?2 q$ W' ~1 i% s, |! g8 x# T3 @% Q9 G- B
|
-
总评分: 帮币 + 1
查看全部评分
|