我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 项目源码 > S2SH三大框架采用注释整合项目案例
总共48087条微博

动态微博

查看: 21917|回复: 95

S2SH三大框架采用注释整合项目案例

  [复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    #
    发表于 2015-04-21 20:58:29 |只看该作者 |正序浏览
    spring+hibernate+struts2集成,注解方式配置。& _  v8 h5 N4 m- f
    1 G  A( O; \* X, k) F
    BookInfoAction.java:7 a6 k, e5 e: E2 t' L5 r- J
    1. /**' C+ x# X3 z1 _% r( R/ w
    2. * 7 N- E7 v; j, o% Q3 ^/ f+ O0 a, F
    3. *// c$ G4 N8 _( {3 T9 y: G  Z% U: b
    4. package com.s2sh.annotation.book.action;2 i8 H: Y  @8 B# u, D
    5. import java.util.List;
      7 g8 v/ m' I9 W. z+ c
    6. import javax.annotation.Resource;
      6 j  c% ~! n. t6 f
    7. import org.springframework.stereotype.Controller;
      $ v# C% t1 m2 C
    8. import com.opensymphony.xwork2.ActionSupport;9 }1 G4 H" ]: }( n+ W' W. h' ~0 _8 V
    9. import com.s2sh.annotation.book.service.BookInfoService;
      / k- f. F. Y9 {  Y# r& s
    10. import com.s2sh.annotation.entity.BookInfo;
      ! h8 B( |% K4 {1 Y9 n
    11. import com.s2sh.annotation.entity.PageBean;
      9 [( I. l" b$ }. P

    12. " J+ t8 @. X% C' j" F. ~( h6 x, ^
    13. /**
      , `0 `5 y7 Y( N3 l
    14. * @author Administrator* Q. S0 q" V6 t$ d  |& d
    15. *
      : g7 y: E: K: ?+ I: O9 c" d& J
    16. */
      ! q7 q9 r; D3 c* B
    17. @Controller // 标注控制层对象
      9 G1 X& b# [1 N
    18. public class BookInfoAction extends ActionSupport {& N3 B& e. \; i

    19. ! X1 ~) j4 W& ]- }) h: W! r
    20.         private static final long serialVersionUID = 1L;
      6 O7 w5 q" M5 Q+ ?/ ?
    21.         0 h; [" V6 p  M6 k9 x* w# w
    22.         @Resource(name="bookInfoServiceImpl")
      8 A, f) i& M" i; I
    23.         private BookInfoService bookInfoService;& F& p9 \: m& t; x5 R0 ~# H; `
    24.         
      9 J6 k; ^" {) z3 U1 y8 V: P
    25.         private List<BookInfo> books;
      , w8 E& n- ^! H
    26.         private PageBean pageBean;9 n3 n1 m2 \# q5 z
    27.         private BookInfo book;2 n# u. d( f1 S& P( K/ u( C+ P; Y
    28.         
      " P  @7 q$ u6 |  N0 `+ S3 ^5 |6 Y
    29.         
      ! N; E+ L' w+ d" P$ I
    30.         /**
      % I& @  H* m& r9 \. l9 N
    31.          * @return the book
      , _. D9 L) F$ t" @
    32.          */% t1 o3 G0 n6 {6 d$ p
    33.         public BookInfo getBook() {
      * p5 t9 n/ C5 D% ^
    34.                 return book;1 Y9 N& t; S' a! u( a
    35.         }8 R+ C- c; W/ r; Y6 R
    36.         /**' [, y: O5 Q) C, ~# x) s6 {
    37.          * @param book the book to set  |" M) x& \3 G6 x
    38.          */) x8 x* g) h1 W* {9 J5 z% O
    39.         public void setBook(BookInfo book) {0 O; h. r  r  {6 X$ v; B; i
    40.                 this.book = book;
      # _: o0 l7 i7 ~* K, g
    41.         }
      8 l' F- n/ \4 U5 ^+ v
    42. , K# e4 t" Q7 f) ~4 x: K5 B6 W2 Z
    43.         /**) ]; {2 j6 {5 p3 ^/ P8 d( c
    44.          * @return the pageBean
      ' y/ ?+ b3 i9 x
    45.          */
      ' J/ A1 ^; }9 K+ ?0 h" ^
    46.         public PageBean getPageBean() {
      : f& p" b( d6 ?  ^- X' P
    47.                 return pageBean;
      1 ~/ l2 `5 @$ W  R' ~7 i
    48.         }  s, S# [5 k' W8 `
    49. /**0 i8 v) C- o& S2 n
    50.          * @param pageBean the pageBean to set- H  M9 x$ N* B* m; A5 ^, ?# J! S
    51.          */
      8 N0 d. c. H1 ?* B' s0 X( T/ ^) k
    52.         public void setPageBean(PageBean pageBean) {: T1 S6 p; Q1 d0 Y
    53.                 this.pageBean = pageBean;
      ; @& u9 o' f4 c$ S% m
    54.         }- G- C/ I: Y  N5 q

    55. * P3 w; x* M' @4 C; j6 j9 f5 ?* ~" r
    56.         /**
      ' ]( q7 X' k* E5 Z, r3 i
    57.          * @return the books9 N% T! ]8 _( @/ p( G  E! v
    58.          */
      ( z  `9 @: s5 i: T
    59.         public List<BookInfo> getBooks() {+ U3 ^/ h, t  Y! n4 @  |8 \
    60.                 return books;5 [  J' V& s" z& f+ \2 ~% R
    61.         }) s, b, c/ t, g7 E0 I9 W
    62. % b8 P3 z- ]' B- O6 A8 p
    63.         /**# {* ^- n5 N: W* h+ E% }( {
    64.          * @param books the books to set5 v( u3 V- D2 s. ^' a
    65.          */* n0 d2 x  w. k0 G
    66.         public void setBooks(List<BookInfo> books) {3 ^9 Q. O* a! A. A& C  z
    67.                 this.books = books;
      + C) N* P: ~$ {( g0 D+ J
    68.         }
      4 o- J# h2 t5 j% H" ~

    69. 4 L4 G6 X/ T- K
    70.         public String showBookInfoList() {- @- G4 w9 Z2 B+ R+ O4 E+ {
    71.                 pageBean.setPageSize(5);8 s) P* S+ z# C$ d9 c) c2 L
    72.                 this.setPageBean(bookInfoService.getPagingByBookInfo(pageBean, book));* }0 N' I2 t/ m2 S+ K; }9 r
    73.                 return SUCCESS;/ V" n5 _1 W3 F- X& T
    74.         }
      ( R' d1 ]4 L: P6 H4 w# n

    75. 8 ]7 S- }$ D2 x0 b3 B! r. j
    76. }
      ; U# }) c" F( [; T( n2 u. H
    复制代码
    applicationContext-persistence.xml:' ?" Q( i' y5 r  j
    1. <?xml version="1.0" encoding="UTF-8"?>/ {" ~2 c' U: T
    2. <beans xmlns="http://www.springframework.org/schema/beans"9 k# x3 o5 F3 s$ ?4 V  i
    3.                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      " y0 ^6 B6 ~, `, |% O. D- t# z
    4.                 xmlns:context="http://www.springframework.org/schema/context"
      7 X5 b' E* ^2 W
    5.                 xmlns:tx="http://www.springframework.org/schema/tx"
      " L; u/ i# M. e6 Y. ]( _! w# ?7 C
    6.                 xsi:schemaLocation="http://www.springframework.org/schema/beans
      2 x: P0 x1 C1 o; {
    7.                 http://www.springframework.org/schema/beans/spring-beans.xsd
      ' o, _: i1 J5 ]$ v+ g
    8.                 http://www.springframework.org/schema/context
      3 O2 @- Z% m, a, B, Z
    9.                 http://www.springframework.org/schema/context/spring-context.xsd 5 X( Z( @, j1 I5 y& L: `  ~
    10.                 http://www.springframework.org/schema/tx
      8 C2 s; ~# g! `1 W
    11.                 http://www.springframework.org/schema/tx/spring-tx.xsd">" g! I+ S) W- }9 D9 `
    12.                 <!-- 使用注解方式装配属性文件 -->9 @; \. x1 b0 q2 B+ U/ c
    13.                 <context:property-placeholder location="classpath:hibernate.template.properties" />
      . [' @* `. P$ G6 H* s8 b7 t
    14.                 <!-- 配置数据源 -->
      ' h9 ^! Q1 O: T. a
    15.                 <bean id="springDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">0 O5 B8 G, d. t6 d
    16.                     <property name="driverClassName" value="${hibernate.connection.driver_class}" />
      4 a. J# P% ?( z# X
    17.                     <property name="url" value="${hibernate.connection.url}" />  l. k; ?: a$ V: g+ z) ?2 U# P
    18.                     <property name="username" value="${hibernate.connection.username}" />
      - `7 U2 v( N" _3 Q
    19.                     <property name="password" value="${hibernate.connection.password}" />4 j2 @6 i  X& C3 g/ E1 Z9 ]
    20.                 </bean>1 N. w8 n: A) {: D
    21.                
      - h2 d9 w/ B, h: l) d7 H
    22.                 <!-- 整合sessionFactory对象到spring容器进行管理 -->
      / p9 y) i7 K* D4 m, h9 L) h% ]; f
    23.                 <bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
      . u& B# H5 A8 X0 R- F1 O
    24.                     <!-- 把spring容器中的数据源注入到dataSource属性中 -->
      + Q0 o1 G/ g1 V) d! l, E0 j6 U
    25.                     <property name="dataSource" ref="springDataSource" />
      ; s, k3 a2 @4 H+ ~1 z+ C5 Y5 s
    26.                     <!-- 扫描装配需要管理的实体类 -->
      8 ]7 A+ Y. y' l, ~" Q7 H
    27.                     <property name="packagesToScan">
      8 u: c) g* m& |8 l: v: ]! f# q# E
    28.                         <list>" R7 y3 X: `" r) d' o6 ?- Y
    29.                             <value>com.s2sh.annotation.entity</value>
      ! J# |& [. v% u; [, F% \
    30.                         </list>5 H: [. J$ A" v7 N9 E
    31.                     </property>
      * h: O" ^' l, y8 U  }( r6 p
    32.                     <!-- 配置额外属性 -->. {5 }& K  R# |' H0 n8 Z
    33.                     <property name="hibernateProperties">- _6 Y: b' q; g9 W
    34.                         <props>
      ( F9 N  {4 p. u2 K
    35.                             <prop key="hibernate.dialect">${hibernate.dialect}</prop>) {  a" x; i8 \) D& M
    36.                             <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
      * M2 W. |2 Q* I9 @9 h8 v
    37.                             <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
      + i( C; L3 J% e& T0 n
    38.                             <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
      ( G& ]' H% y4 J% u9 Z4 X- M. _
    39.                         </props>6 e3 ~$ t: m% V1 Y7 q
    40.                     </property>0 m  w2 a& }: ^$ o
    41.                 </bean>
      % h, p7 o9 |/ ?- a6 {
    42.                
      ; k3 s( E) X' |9 w1 `1 P0 j
    43.                 <!-- 配置事务管理器 -->
      7 m6 E  R; z0 g5 c, i
    44.                 <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
      2 c3 n+ E- T7 L, P
    45.                     <property name="sessionFactory" ref="hibernateSessionFactory" />' W/ L3 L8 Y; j9 K6 P
    46.                 </bean>
      7 Y1 Q2 J2 ]% K. z/ `, H
    47.                
      9 J9 f" w. O1 |# i0 B8 N
    48.                 <!-- 使用注解形式来管理事务 -->
      8 ~; X: p4 w: J6 |" n; E* X7 l1 u0 S
    49.                 <tx:annotation-driven transaction-manager="transactionManager"/>% q6 O, i: a- B# D' F8 |
    50.                
      # l+ ^: [0 U, g6 F4 R: L- V
    51.                 <!-- 启动自动扫描方式将需要管理的组件纳入到spring容器进行管理 -->% F% P1 \" [2 z
    52.                 <context:component-scan base-package="com.s2sh.annotation" />6 B$ V0 ^: P. x6 \8 R6 Z+ N
    53. </beans>
    复制代码
    struts.xml:
    0 J) S+ H- P$ b4 r: H7 z% Y
    1. <?xml version="1.0" encoding="UTF-8"?>
      . I& h& P4 U3 M$ x& e5 N0 W9 b& h
    2. <!DOCTYPE struts PUBLIC" F1 m% @' o- n5 D( C) |4 P
    3.         "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"5 y9 B  `# p( a# P' ?
    4.         "http://struts.apache.org/dtds/struts-2.3.dtd">' n! n6 `" w* J
    5. <struts>
      + r, w$ H* o: N& x; K
    6.     <!-- 把struts创建Action对象的权力交给Spring容器进行管理 -->
      # I) y5 p" r8 k, o
    7.     <constant name="struts.objectFactory" value="spring" />0 O2 E- u6 x' o/ B! x9 v  j8 ~
    8.     8 ]3 E  J7 \7 w" H: S4 F1 d1 k
    9.     <package name="base" extends="struts-default" namespace="/" abstract="true">
      6 x7 x% L: V. D9 K# z: t4 i
    10.         ! p+ F7 K* \1 j/ ]: b
    11.     </package>/ h2 b5 m8 h" f/ k$ J
    12.    
      5 P& F1 W& C; }! b/ m6 s
    13.     <include file="config/struts-bookInfo.xml" />
      - ]- R+ |0 S) w/ O2 b
    14. </struts>
    复制代码

    * F2 X8 T9 |- l1 Q7 {2 wS2SH三大框架采用注释整合项目案例* S* T* i( F& |/ z* O
    解压码:
    游客,如果您要查看本帖隐藏内容请回复

    + _# i, [0 P. w1 O# `2 ]( F  P! x) W2 X1 w) c7 j! ~
    5 p' g0 R+ Y6 C1 I  [, I
    # y! ^. V" v5 _1 T' ^  n$ F+ s

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    已有 1 人评分帮币 收起 理由
    z962416 + 1 很给力!

    总评分:  帮币 + 1         查看全部评分

    本帖被以下淘专辑推荐:

    2

    主题

    0

    听众

    203

    金钱

    三袋弟子

    该用户从未签到

    95#
    发表于 2018-12-15 16:30:30 |只看该作者
    感觉有点用啊
    回复

    使用道具 举报

    2

    主题

    0

    听众

    162

    金钱

    三袋弟子

    该用户从未签到

    94#
    发表于 2018-05-14 16:00:27 |只看该作者
    学习了,向大神致敬
    回复

    使用道具 举报

    2

    主题

    0

    听众

    204

    金钱

    三袋弟子

    该用户从未签到

    93#
    发表于 2017-12-25 10:00:13 |只看该作者
    重中之重做做做做做做做做做做做做
    回复

    使用道具 举报

    4

    主题

    1

    听众

    570

    金钱

    四袋长老

  • TA的每日心情

    2019-3-10 11:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    90后

    92#
    发表于 2017-12-22 21:54:23 |只看该作者
    看起来还可以的样子哦!
    回复

    使用道具 举报

    1

    主题

    0

    听众

    149

    金钱

    三袋弟子

    该用户从未签到

    91#
    发表于 2017-12-12 20:30:22 |只看该作者
    整不明白啊真费劲
    回复

    使用道具 举报

    0

    主题

    0

    听众

    136

    金钱

    三袋弟子

    该用户从未签到

    90#
    发表于 2017-10-30 16:22:47 |只看该作者
    看看看看看看
    回复

    使用道具 举报

    2

    主题

    1

    听众

    163

    金钱

    三袋弟子

    该用户从未签到

    89#
    发表于 2017-10-29 20:25:57 |只看该作者
    感谢分享
    5 v0 ?7 Z* }' P1 m/ H
    回复

    使用道具 举报

    0

    主题

    0

    听众

    83

    金钱

    三袋弟子

    该用户从未签到

    88#
    发表于 2017-08-31 17:39:22 |只看该作者
    刚好想看,及时啊
    回复

    使用道具 举报

    5

    主题

    0

    听众

    316

    金钱

    四袋长老

    该用户从未签到

    87#
    发表于 2017-08-10 18:23:55 |只看该作者
    rdfdddddddddddddddddddddddddddddddddddddddddddddddddddddd
    回复

    使用道具 举报

    6

    主题

    0

    听众

    106

    金钱

    三袋弟子

    该用户从未签到

    86#
    发表于 2017-04-08 14:48:11 |只看该作者
    看起来应该不错, 适合学习
    回复

    使用道具 举报

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表