JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架


ssh三大框架整合:

        指spring、struts、hibernate三大框架整合到spring中。



三大框架架构(整合原理)

    JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架整合步骤:

   步骤一:

     导包:(总计41个)

         一:hibernate的包

            1)hibernate/lib/required

                JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

            2)hibernate/lib/jpa|java persist api java的持久化规范(接口)

                  JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

            3)数据库驱动

                    JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

         二:Struts2的包

             1)struts-blank.war/WEB-INF/lib/*

                     JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

                        注意:javassist-3.18.1-GA.jar包与hibernate中的重复

               2)struts整合spring插件包

                        JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

                        注意:这个包一旦导入,那么struts2在启动时就会寻找spring容器.找不到将会抛出异常

        三:Spring包

                1)基本包:4 + 2

                    core|beans|context|expression|logging|log4j

                2)整合web:web包

                    spring-web

                3)整合aop:4个

                        spring-aop|spring-aspect|aop联盟|aopweaving

                4)整合Hibernate和事务:4个

                        spring-jdbc|spring-tx|c3p0|spring-orm

                5)jubit4测试:test包

                        spring-test

          四:标签库

                standard.jar

                jstl-1.2.jar


步骤二:

    单独配置Spring容器:

        1)创建配置文件,并导入约束(4个)
                beans|context|aop|tx

        

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

            2)配置spring随项目启动

        JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架


步骤三:

        单独配置struts2

                1)配置struts主配置文件
            JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架
                    2)配置struts2核心过滤器到web.xml
        JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

步骤四:

            struts2与spring整合:

                    1)导包(已经导入)

                            struts2-spring-plugin-2.3.24.jar

                    2)配置常量

                            JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

                     3)整合方案两种方式(第一种了解,第二种运用)

                            ①第一种整合方案:struts2自己创建action,spring负责组装依赖属性

                                JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

不推荐理由:最好由spring完整管理action的生命周期.spring中功能才应用到Action上.

                            ②第二种整合方案:spring负责创建action以及组装.

    applicationContext.xml中配置

               JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

struts.xml中配置

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架


步骤五:

            单独配置hibernate:

                    1)导入实体类  及  orm元数据

                        JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

                    2)配置主配置文件

                        JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架


步骤六:

            spring整合hibernate:

                    1)整合原理:

                        将sessionFactory对象交给spring容器管理

                    2)在spring中配置sessionFactory

                            配置方案两种(第一种了解,第二种运用):

                            ①:配置方案一:

                        JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架


                              ②:配置方案二:

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架


步骤七:

            spring整合C3P0连接池:

                        1)配置db.properties

                            JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

                        2)引入连接池到spring中

                            JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

                        3)将连接池注入给SessionFactory

                            JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架



步骤八:

            spring整合hibernate环境操作数据库:

                        1)Dao类创建:继承HibernateDaoSupport

                                JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

                        2)hibernate模板的操作

                                   execute

                            JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

                                    findByCriteria


            JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

                        3)spring中配置dao

                    JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架


步骤九:

            spring的aop事务:

                    1)主备工作

                         JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

                    2)xml配置aop事务

    配置通知:

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

配置织入:

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架


                    2)注解配置aop事务

开启注解事务

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

Service类中使用注解

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架        JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架


步骤十:

         扩大session作用范围:

                    1)为了避免使用懒加载时出现no-session问题,需要扩大session的作用范围

                    2)配置filter(在web.xml中配置)

                            JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架

JAVA_WEB Spring框架学习 第四章 spring整合hibernate、Struts三大框架