为了账号安全,请及时绑定邮箱和手机立即绑定
  • SSH框架整合:

    一、各框架知识点回顾

    在没有其他框架时,单独的框架如何实现,以下伪代码:

    持久层(Hibernate):

    public class BookDao{
        public void save(Book book){
            Configuration cfg = new Configuration().configure();
            SessionFactory sf = cfg.buildSessionFactory();
            Session session = sf.openSession();
            Transaction tx = session.beginTransaction();
            session.save(book);
            tx.commit();
            session.close();
        }
    }

    业务层(Spring):

    public calss BookService{
        private BookDao bookDao;
        public void setBookDao(BookDao bookDao){
            this.bookDao = bookDao;
        }
        public void save(Book book){
            bookDao.save(book);
        }
    }
    <bean id="bookDao" class = "...BookDao"></bean>
    <bean id="bookService" class = "...BookService">
        <property name = "bookDao" ref="bookDao"/>
    </bean>

    WEB层(Struts2)

    public class BookAction extends ActionSupport implements ModelDriven<Book>{
        private Book book = new Book();
        public Book getModel(){
            return book;
        }
        public String save(){
            WebApplicationContext wap = WebApplicationContextUtils.getWebApplicationContext(...);
            BookService bs = wap.getBean("bookService");
            bs.save(book);
        }
    }

    二、搭建SSH框架开发环境

    1、创建WEB项目,引入相应jar包(Struts2、Spring、Hibernate框架开发相关)

        struts2-convetion-plugin-2.3.15.3.jar---struts2的注解开发的jar包

        struts2-spring-plugin-2.3.15.3.jar---struts2用于整合Spring的jar包

        hibernate-distribution-3.6.10.Final\hiernate3.jar

        hibernate-distribution-3.6.10.Final\lib\required\*.jar

        hibernate-distribution-3.6.10.Final\lib\jpa\*.jar

        slf4j-log4j12-1.7.2.jar---整合日志记录

        com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar---连接池数据库驱动包

        spring-tx-3.2.0.RELEASE.jar---事务管理

        spring-web-3.2.0.RELEASE.jar--整合WEB项目

        spring-jdbc-3.2.0.RELEASE.jar--事务管理

        spring-orm-3.2.0.RELEASE.jar--整合Hibernate

        spring-test-3.2.0.RELEASE.jar--整合Junit单元测试

        IOC需要的jar包:

            spring-beans-3.2.0.RELEASE.jar

            spring-context-3.2.0.RELEASE.jar

            spring-core-3.2.0.RELEASE.jar

            spring-expression-3.2.0.RELEASE.jar

            com.springsource.org.apache.log4j-1.2.15.jar---日志记录的jar包

            com.springsource.org.apache.commons.logging-1.1.1.jar---日志整合的jar包

        AOP需要的jar包:

            spring-aop-3.2.0.RELEASE.jar

            spring-aspects-3.2.0.RELEASE.jar

            com.springsources.org.aopalliance-1.0.0.jar

            com.springsources.org.aspectj.weaver-1.6.8.RELEASE.jar

    2、引入相应的配置文件

        Struts2框架的配置文件:

            web.xml---配置核心过滤器(StrutsPrepareAndExecuteFilter类)

            struts.xml---Struts2框架本身的配置文件(在SSH整合中使用纯注解方式时,此文件可省略)     

        Hibernate框架的配置文件:

            hibernate.cfg.xml---核心配置文件(在SSH整合中可省略此文件)

            映射文件

        Spring框架的配置文件:

            web.xml---配置核心监听器(ContextLoaderListener类)

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>        
    </listener>        
    <context-param>            
       <param-name>contextConfigLocation</param-name>            
       <param-value>classpath:applicationContext.xml</param-value>        
    </context-param>

            applicationContext.xml---Spring的核心配置文件

            log4j.properties---日志配置文件

    3、创建包结构(action、service、dao、domain)

    (一)Struts2整合Spring框架

    4、创建页面(WebRoot下新建jsp页面)

        部署项目到Tomcat访问本地jsp页面

    5、编写Action、Service和Dao

        Service层注入Dao

        Action中通过整合jar包自动注入,提供Service的set()方法即可

    6、配置Action、Service和Dao的类

        Service和Dao交给Spring管理,在applicationContext.xml中配置

        Struts2和Spring整合的两种方式:

        (1)Action的类由Struts2自身去创建;---在struts.xml中配置

        (2)Action的类交给Spring框架创建(可以交给Spring的AOP去管理)---配置时手动注入Service(Action创建类是多例,Spring创建类默认是单例模式,所以交由Spring创建时需要设置scope = "prototype")

    (二)Spring整合Hibernate框架

    7、创建数据库

    8、创建映射文件---类和表的对应关系(Hibernate会根据此文件在数据库中创建表结构)

    9、Spring整合Hibernate

        jdbc.properties属性文件

        在applicationContext.xml中配置连接池(ComboPooledDataSource类),引入外部属性文件

        在applicationContext.xml中配置Hibernate的相关属性SessionFactory,注入连接池,加载映射文件


    10、编写DAO中的代码  extends HibernateSaoSupport  注入SessionFactory 

        配置DAO时

    <bean id = "productDao" class="...ProductDao">
       <property name="sessionFactory" ref = "sessionFactory"/>
    </bean>

        在DAO中调用模板完成保存操作

        this.getHibernateTemplate().save(product);

    11、事务管理

        在applicationContext.xml中配置事务管理器(HibernateTransactionManager类),注入sessionFactory,开启注解事务使用<tx:annotation-driven/>标签,引入HibernateTransactionManager的ID,在业务层的类上添加@Transaction注解

    三、综合案例

    查看全部
    0 采集 收起 来源:SSH知识点回顾

    2022-04-08

  • SSH框架

    查看全部
    0 采集 收起 来源:SSH知识点回顾

    2022-01-19

  • 配置事务管理器

    <bean id="transactionManager"
          class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="sessionFactory" />
        </property>
    </bean>
    
    开启注解事务
    <tx:annotation-driven transaction-manager="transactionManager" />


    查看全部
  • 编写DAO中的代码

    查看全部
  • 配置Hibernate的相关属性

    查看全部
  • Action的类由struts2自身创建

    查看全部
  • Service和DAO是如何配置的

    直接在applicationContext.xml中进行配置


    查看全部
  • Action的类由Struts2自身去创建

    查看全部
  • Struts2和spring整合的2种方式

    1. Action的类由Struts2自身去创建

    2. Action的类交给Spring框架创建

    查看全部
  • 商品管理的Action类

    模型驱动使用的类

    Struts和Spring整合过程中按名称自动注入的业务层类


    查看全部
  • spring的框架的核心监听器

    查看全部
  • struts.xml中需要配置那些内容

    在src目录下引入struts.xml


    查看全部
  • Struts2的框架的核心过滤器的配置

    查看全部
  • spring配置文件

    查看全部
  • hibernate框架配置文件

    查看全部
  • struts2框架的配置文件

    查看全部
  • jar包整合2

    查看全部
  • jar包整合

    查看全部
  • 未整合前的代码编写

    查看全部
    0 采集 收起 来源:SSH知识点回顾

    2020-05-01

  • action调用service中的方法,service调用dao中的方法

    查看全部
  • 不使用Struts配置文件在Spring中Action配置需要改为多利即<bean>标签后添加scope属性"prototype"


    查看全部
  • SSH框架整合

    查看全部
    0 采集 收起 来源:SSH知识点回顾

    2019-06-06

  • Spring整合Hibernate——添加事务管理

    步骤十一:事务管理

    【a】Spring中配置事务管理器

    https://img1.sycdn.imooc.com//5cef82230001d32e15210134.jpg【b】开启注解事务

    https://img1.sycdn.imooc.com//5cef89bb0001fa6f10230075.jpg【c】事务管理的类上添加注解(业务层上)

    https://img1.sycdn.imooc.com//5cef8a1200013d4705020122.jpg


    查看全部
  • Spring整合Hibernate——编写DAO的代码(此时已经去掉Hibernate的核心配置文件)

    步骤十:编写DAO中的代码(完成保存的操作)

    原理:没整合前需要在dao的方法里去获得一系列对象以及session对象,但整合之后只需要使用Hibernate的模板即可完成相应操作。正常情况下需要在DAO里进行注入,但是Spring已经提供了一个HibernateSupport类,只需DAO类继承它即可(这个类中已经将HibernateTemplate模板注入,通过getHibernateTemplate()即可获得,还有一个好处,这个类提供了一个setSessionFactory(SessionFactory sessionFactory)方法,当在DAO中直接注入SessionFactory属性时(注意property的name要为sessionFactory,DAO继承了这个类的SessionFactory和set方法),该方法会判断当模板为空时会自动创建模板,所以就不用考虑模板对象了)。

    【a】DAO继承HibernateDaoSupport

    【b】spring配置文件中给DAO注入SessionFactory属性,属性名为sessionFactory

    【c】通过this.getHibernateTemplate().save(对象)记性保存操作


    查看全部
  • Spring整合Hibernate——配置去掉Hibernate的配置文件(添加properties文件)

    有Hibernate的配置文件时需要配置的属性

    https://img1.sycdn.imooc.com//5cee724c00011fc809580663.jpg


    步骤1:编写properties文件

    https://img1.sycdn.imooc.com//5cee72c7000128ef05110181.jpg

    步骤2:spring配置文件中通过

    <context:property-placeholder location="classpath:jdbc.properties"/>引入properties文件

    步骤3:配置连接池(配置c3p0连接池)

    https://img1.sycdn.imooc.com//5cee774e0001c20612020371.jpg

    步骤4:配置Hibernate相关属性(例如:生成表成略、获取session标签配置、mapping配置)(hibernate-release-5.0.7.Final\project\etc\hibernate.properties可以找到MySQL方言)


    查看全部
  • Spring整合Hibernate——创建数据库和映射文件

    步骤七

    1、创建数据库

    2、创建映射文件(约束在Hibernate核心包下org.hibernate.hibernate-mapping.dtd)


    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
学习本门课程前,需要对Struts2、Hibernate、Spring的基础知识有所了解,没学过的同学可以观看慕课网的《Struts2入门》、《Spring入门》和《Hibernate初探之单表映射》等课程。
老师告诉你能学到什么?
1、能够自己动手搭建SSH整合环境 2、学会Struts2+Hibernate+Spring三大框架如何整合

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!