TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
spring+hibernate+struts2集成,注解方式配置。
8 N5 \5 J, {! e' L* ~1 Z/ X, y
2 t8 E% ^% ?0 s- WBookInfoAction.java:* U I6 b: @ f' n9 s
- /**
- c& p6 l4 h7 e - * 3 K& I, ~( j! ]
- */# H' l3 Q: q. ]5 m- [6 H; g* L
- package com.s2sh.annotation.book.action;
. t3 u" j6 j7 C) m [" D W9 W; \ - import java.util.List;
! e# ^# e1 R6 g. E - import javax.annotation.Resource;4 J# o! _2 L# W/ O: R7 `$ x
- import org.springframework.stereotype.Controller;- N% z7 G& B0 J' f$ W
- import com.opensymphony.xwork2.ActionSupport;
0 y" R, O4 D1 e/ I; L8 s4 U/ O - import com.s2sh.annotation.book.service.BookInfoService;
9 @- p: ?: j/ A - import com.s2sh.annotation.entity.BookInfo;
3 J/ i8 G! G2 @4 m8 a - import com.s2sh.annotation.entity.PageBean;
* r" E& g1 z1 q- s
, A( Y) j! D5 r# L- /**
9 o/ M. C0 O: F0 d* Z4 ^0 S3 Y - * @author Administrator k4 H5 {3 F4 R* q
- *
( J* Y1 D1 c, x1 s - */
6 w% \1 G# B8 g* V4 j5 a( ~' R - @Controller // 标注控制层对象% z- i( k5 B; ~
- public class BookInfoAction extends ActionSupport {
+ q6 y0 p, u U) Z4 I, u - ; c( Y" O$ N% T \+ j0 \4 P/ R
- private static final long serialVersionUID = 1L;
- U- U4 A& x+ `' a# [5 S9 ? - \+ v7 d+ ]9 e) }* J7 Z7 t; q8 ? j
- @Resource(name="bookInfoServiceImpl")
/ U8 K Y8 [0 b - private BookInfoService bookInfoService;, @0 x- }0 K" B- X& {
- ) C- c/ V" U1 P2 p
- private List<BookInfo> books;* X: L0 T& S& D; [. j% n/ H( q# c/ i
- private PageBean pageBean;8 _; x( U: k6 Z) h4 R0 L9 v* s
- private BookInfo book;* e8 K% z1 f9 ~. X1 }8 S) p
-
1 r. S8 d$ t2 V+ L -
( L- O0 }$ ]# Y/ E h - /**
# l6 G; m' }$ j, b4 L - * @return the book# v+ \% L6 Y, Q1 J$ H
- */' |7 S' S& t3 z2 T& k0 d, E i
- public BookInfo getBook() {
" }! o# O+ F& R/ n- F9 T+ g5 { - return book;' m, z- `; f, j% p+ T
- }
$ ^4 l m7 }( e' L( w, X/ Q u9 b - /**
" U0 H0 M* Y( O& `; g) {) v3 g - * @param book the book to set9 o# \3 F% ?2 P' ?
- */0 ^4 j" _, @3 `% x4 w8 {
- public void setBook(BookInfo book) {
! d) E/ ]3 B+ l# O6 n, k3 `8 D9 d - this.book = book;) t6 x) B& o' [0 \% T+ V& n
- }
$ q3 r/ I( X# I d4 {' [( X
) h8 ~7 m. v. G- /**/ x @# D1 |6 e: r! S% O
- * @return the pageBean
3 t* S7 _# U+ W. h - */& h o- N( W: i
- public PageBean getPageBean() {
( ?. v$ @7 D# w) d# \ - return pageBean;0 [$ _# B0 |0 H t- ]
- }
4 i/ ~- E. ~0 T) M/ i" T) I8 t - /**8 ~: C9 O- U: D6 B8 n$ r! H. a- e
- * @param pageBean the pageBean to set: f# {, e z* m: `6 K" B# T0 m
- */1 ]" p1 w) t& T/ s
- public void setPageBean(PageBean pageBean) {4 @1 k! m: m( ]& `
- this.pageBean = pageBean;" z$ k/ ~/ x& m3 l A, o$ x
- }, F) l/ r% |. c9 J: a5 Q P" k/ S; o
+ [7 b1 Z; w! N( G7 Y) J- /**
/ M* n9 L# d7 M. u - * @return the books+ z) x* o: \1 K5 y' t
- */
5 x9 o+ [/ P4 b - public List<BookInfo> getBooks() {) H/ i0 M% |. I( U$ z! F8 `
- return books;
' K* _9 D( Y5 C2 } - }
! `& v1 o( x/ s9 ^3 ^* T: ~
+ d O8 r \! T- /**) {0 S: l) S$ i! x9 n
- * @param books the books to set9 p* a: X _, K s5 W9 H
- */+ T- U- C4 }$ B1 E( {/ ?4 W. K$ Z. L
- public void setBooks(List<BookInfo> books) {
( V: ]$ Q/ S: C9 C) X; k: ~# k - this.books = books;
# U/ G' B6 _# V( k - }; i7 e+ l7 K+ b4 {+ U( r
5 }) _5 q& g/ o- public String showBookInfoList() {7 X9 y) K5 G% Y/ ~
- pageBean.setPageSize(5);+ J; e5 v2 l4 @. L" S8 k3 P) O: i
- this.setPageBean(bookInfoService.getPagingByBookInfo(pageBean, book));4 Z: O3 @' {& j
- return SUCCESS;
; I# n1 K& j8 `8 _% m8 P - }& i# v% K& W* e
- ; G2 h1 a2 `0 s
- }" a! } W6 ~4 x5 m$ h/ d5 v
复制代码 applicationContext-persistence.xml:/ j) v! L! g7 M2 K" t' E
- <?xml version="1.0" encoding="UTF-8"?>
, Y; J5 ]% h; w4 }6 b - <beans xmlns="http://www.springframework.org/schema/beans"
. c8 h1 `/ ]+ i* }) O( r0 i - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"6 k3 m# Y9 d0 e5 ~4 ~
- xmlns:context="http://www.springframework.org/schema/context"
) N" A7 y& u. R% ^2 o - xmlns:tx="http://www.springframework.org/schema/tx"5 E6 r: y% n" {1 h8 V% w" d
- xsi:schemaLocation="http://www.springframework.org/schema/beans 3 }, J ?- z6 Q7 K" o3 C' x1 O+ q% C
- http://www.springframework.org/schema/beans/spring-beans.xsd
( U+ S* y% ?+ o8 y7 g - http://www.springframework.org/schema/context , p$ J4 s* M* h% R! Q
- http://www.springframework.org/schema/context/spring-context.xsd
9 X6 `. k% G( L. W4 {) D - http://www.springframework.org/schema/tx N% Y8 G/ F( P: _
- http://www.springframework.org/schema/tx/spring-tx.xsd">6 |, _& i! {" b9 M: S
- <!-- 使用注解方式装配属性文件 -->; T/ }" N- l& `+ T* a. m4 L8 i
- <context:property-placeholder location="classpath:hibernate.template.properties" />
! [- p8 P8 s1 u! ? - <!-- 配置数据源 -->) F" I8 l' D! M, Y. H* G" Q
- <bean id="springDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">4 C' o, n3 P, Q; M( H, ~
- <property name="driverClassName" value="${hibernate.connection.driver_class}" />
* p5 l0 V% h6 @, S7 C6 y - <property name="url" value="${hibernate.connection.url}" />
; N/ h+ F6 h3 J9 ^' ~+ K - <property name="username" value="${hibernate.connection.username}" />8 F3 ]+ p7 P: ^+ G# N7 _3 f: `
- <property name="password" value="${hibernate.connection.password}" />: v F) Z! c) l! X1 p3 ^8 `8 p
- </bean>. d8 `; W2 q* C; g
-
: _# M j7 t9 K$ w$ R - <!-- 整合sessionFactory对象到spring容器进行管理 -->+ J8 G$ X% m7 l5 `8 \! t; [
- <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">) v' e4 Z" u$ t4 p+ R/ o' o
- <!-- 把spring容器中的数据源注入到dataSource属性中 -->
7 I& y( ^+ ?6 ^ - <property name="dataSource" ref="springDataSource" />
6 K4 K6 x# T' a" g1 O' } - <!-- 扫描装配需要管理的实体类 -->& J, e% y! L* p8 q- b
- <property name="packagesToScan">4 t, S5 r) E/ K
- <list>9 x/ F% k9 w! S& p. c$ ^. W. w
- <value>com.s2sh.annotation.entity</value>
: i+ U9 P9 c* u6 j8 Q - </list>- R# J: a$ z5 `+ O/ u
- </property>! {8 ?" G, D9 ?2 A7 r
- <!-- 配置额外属性 -->+ a$ @# K! \/ t3 r. P0 f
- <property name="hibernateProperties">3 M. c* U' a+ C$ F0 v9 U
- <props>
, M3 X' s: _1 d9 m% A+ U9 ]. l - <prop key="hibernate.dialect">${hibernate.dialect}</prop>
: \/ \" }* _6 c R - <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
2 D! A4 [( ?$ q8 v - <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
0 l2 T3 {8 }; ~ - <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>, M6 `8 }! Q9 v: x4 |
- </props>4 \. h+ m j" T$ D! ^/ H2 Q
- </property>
) y/ h% q: D- Z( R - </bean>, }+ J' m7 c2 w7 @8 P+ u' G
- ! K2 n( i/ d" @
- <!-- 配置事务管理器 -->
9 J6 R6 z% u$ f j& V5 _: Q( O( ] - <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">! V) j( `$ ^+ ^+ P5 | O) u
- <property name="sessionFactory" ref="hibernateSessionFactory" />
3 f3 V6 E3 [" k: p. F6 i - </bean># l6 O/ h8 ^! U% M* b
- $ x U$ C; U Z$ E: Z% Z
- <!-- 使用注解形式来管理事务 -->
q7 d" P- U7 V - <tx:annotation-driven transaction-manager="transactionManager"/>
|+ r( h7 F/ Y9 _" j/ Q/ _ - * v! E0 p# [# x- C. ~
- <!-- 启动自动扫描方式将需要管理的组件纳入到spring容器进行管理 -->
) e" }, I: e2 K1 {7 ~. P - <context:component-scan base-package="com.s2sh.annotation" />; W# N; f* D. D& d5 g
- </beans>
复制代码 struts.xml:2 Z# f0 a/ g! ?1 w
- <?xml version="1.0" encoding="UTF-8"?>
+ U( t) p* e' U - <!DOCTYPE struts PUBLIC9 X1 g q" e# E6 X: h
- "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
$ X) V9 ]5 x2 { D* u - "http://struts.apache.org/dtds/struts-2.3.dtd">. O9 k! A# `$ ~9 J
- <struts>, Y4 i# o$ m1 U; q* ?
- <!-- 把struts创建Action对象的权力交给Spring容器进行管理 -->
* I7 O! B/ [5 B* ~2 Y - <constant name="struts.objectFactory" value="spring" />
@' ]5 g6 O, g# ~3 O9 o) k - 7 F9 f) g1 d! L% k/ ^+ h1 X. Q
- <package name="base" extends="struts-default" namespace="/" abstract="true">
' f3 i3 n2 F6 i8 [6 Q9 _ - + E+ K" h w' {6 z* ~; V
- </package>1 I e( i! [% \6 o5 N
-
% [; ]( o: V$ K$ s - <include file="config/struts-bookInfo.xml" />
* u1 ~1 b) h2 [; o) o5 P - </struts>
复制代码 , Y5 V; t; N" |# G6 Z% a7 o
S2SH三大框架采用注释整合项目案例6 l9 D) `6 I' R d0 ]4 Y4 Y1 N
解压码:; R" p/ ~4 m; g. Z
' H0 C5 l5 {" A4 f4 m
- c/ H# I# Z" r ?# `
+ k4 P6 Y8 M6 u4 P5 U! w
|
-
总评分: 帮币 + 1
查看全部评分
|