SSH学习心得体会

时间:2024.4.20

   struts + spring + hibernate 的整合  总结文档

1.加包顺序

   struts+Spring+Hibernate

2.剔除asm2.2.3.jar ,加入commons-pool.jar(加到lib里面),补上log4j.prperties(补在src下面)

3.加载spring配置文件

 <plug-in

   className="org.springframework.web.struts.ContextLoaderPlugIn">

   <set-property property="contextConfigLocation" value="/WEB-INF/classes/beans.xml"/>

  </plug-in>

4.struts-config.xml配置修改spring动态代理

    <action path="/myAction" type="org.springframework.web.struts.DelegatingActionProxy">

      <forward name="error" path="/error.jsp" />

      <forward name="success" path="/success.jsp" />

    </action>

5.Spring 中的 beans.xml注册Action Bean

  <bean name="/myAction" class="com.accp.struts.action.MyAction">

 

  </bean>

        研究配置文件:

   一. struts的配置文件

    和以前的struts配置文件一样 不同的是程序的运行先要运行<plug-in>.......</plug-in>它的作用是

加载spring 它的写法:

    <plug-in className="org.springframework.web.ContextLoaderPlugIn">

        <set-property property="contextConfigLocation" value="classpath:beans.xml">

    </plug-in>

程序读完 beans.xml 后进入<action>........</action>

   在action中和以前不同的是程序将比直接去进入相应的类中处理而是将控制权交给了spring

   在这里action type属性值是:org.springframework.web.struts.DelegatingActionProxy

   DelegatingActionProxy 是一个实现类 通过它可以把控制权转交给spring 在运行spring

   在spring 中找到 action的path值  name属性的值 如果找到了name 的属性值和path值相同

就运行spring的这段代码

   <action path="/myAction" type="org.springframework.web.struts.DelegatingActionProxy">

   <forward name="" path="/*.jsp">

   </action>

   二. spring的配置文件 主要的组成部分

    在spring里面首先要接action的path值

   <bean name="/myAction" class="com.accp.struts.MyAction">

   <property name="mybiz" ref="myBiz">

   /*  name是随便取名 ref的值是一个类的代理名 是这个配置文件中存在的bean id的值  */

   </property>

   </bean>

   在spring 里面接转交权 的bean 是用name 其他全部用id

   spring里面都是一些依赖注入【控制反转】代码

       <bean name="/myAction" class="com.accp.struts.action.MyAction">

       <property name="mybiz" ref="myBiz"></property>

      /*       private IMyBiz mybiz;【MyAction 类】   */

    </bean>

       <bean  id="myBiz" class="com.accp.biz.MyBizImpl">

      <property name="myDao" ref="deptDAO"></property>

         name的值是这里来的:     private IMyDao myDao;[MyBizImpl类]

    一定要注意:这里面的name属性值是在 具体的实现类中的 的接口对象名

    </bean>

   

    <bean id="deptDAO" class="com.accp.hibernate.DeptDAO">

       <property name="sessionFactory">

           <ref bean="sessionFactory"></ref>

       </property>

    </bean>

 三.在刚开始学ssh架构时 操作出现的错误:

 

  1.粗心 在加包的时候需要细心 虽然很简单,但要很清楚每一个框架在加包的时候都要注意的问题

    每一个框架在加包的时候都有自己的一种操作

    struts 加包的时候需要注意选择struts的版本问题 小心出错 选struts 1.2版本

    spring 开始在复选框中 选前3个 和最后1个  下面选第二个 copy checked...........->next->

    将xml 的名字改为简单点 如:beans.xml 这个是spring 的配置文件

    hibernate 开始选择复选框中所有 下面的选第二个 copy checked.......->next  选第二个spring...

    -->选第二个Existing spring ......   --> SessinFactory ID : 填 sessionFactory -->next

    Bean Id 这个是 数据源的名字 随便给 下面选所需的数据库  --》next 选所在工程的路径包

    接着new 包 -》 finally

  2. 提高编程效率容易出现的错误

 

   ·自动生成数据映射文件

    在所示的数据库表 右击选倒数第二个 Hibernate R....... --->next

   

    复选框选前3个   在第2个复选框中 把create abstract class 去掉  ---》next  选主键生成器 一直next就ok

  

    在这个映射文件中它会生成 struts多表关系 如果程序是单表操作则需要将它干掉 做到这里的时候要到这个包中

    生成的实体中相应关系的代码都要干掉  要干干净

    我们可以给这个包中在添加接口(规则),这个接口的方法就写它生成DAO中的方法 然后再在它生成的DAO类中实现

    这个接口的形式字样(其实这个是一个存在的形式,因为时按照人家生成好的方法在写的接口) 这样做主要是为了

方便业务层(..bizImpl)中进行依赖注入【控制反转】的处理。

Spring 从加入程序开始理解:

package com.accp.hibernate;

import org.hibernate.SessionFactory;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.orm.hibernate3.HibernateTemplate;

public class DeptDao {

    private SessionFactory sessionFactory;

    public void setSessionFactory(SessionFactory sessionFactory) {

       this.sessionFactory = sessionFactory;

    }

    private HibernateTemplate getHibernateTemplate(){

       return new HibernateTemplate(sessionFactory);

    }

    public Dept getInfoById(int id){

       /**

        * 在开始的时候它就是以前的纯hibernate环境下开发的过程它有7大对象7大步骤

        * 现在SessionFactory直接有了Spring的管理 就可以简化开始的一些步骤 不直接读取映射文件(数据源)

        * 因为这些都有spring进行了管理 这里就可以直接的读取spring.xml配置文件 这里需要获取ApplicationContext来操作

        * 把sessionFactory作为一个javaBean对象注入然后读取的是这个Bean对象

        * 获得了SessionFactory对象后就可以打开一个Session 得到session的对象后不用去创建事物了

        * session可以直接的去调用业务方法   这里面得到的Session需要打开关闭

        * 这是Spring出现后给Hibernate和Struts带来的便利

        * 这个时候不需要对sesion进行管理

        * 我们使用模板类(HibernateTemplate)这个类中它做了对session的管理处理

        * 只需要利用这个HibernateTemplate类的getHibernateTemplate()方法[构造方法]可以给

        * 我们做我们想要做的业务处理

        * 数据源的获取直接都有spring来做

        */

//     ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");

//     SessionFactory sf = (SessionFactory) ac.getBean("sessionFactory");

//     Session s = sf.openSession();

//    

//     Dept de =(Dept)s.get(Dept.class, new Long(id));

//    

//     s.close();

//     return de;

       return null;

      

    } 

       /**

        * 在第二版的时候,引入了Spring的管理 spring的加入是程序的结构更加的规范

        * 程序不在是那么具有耦合性 而是更具有接偶性

        * * 这个时候不需要对sesion进行管理

        * 我们使用模板类(HibernateTemplate)这个类中它做了对session的管理处理

        * 只需要利用这个HibernateTemplate类的getHibernateTemplate()方法[构造方法]可以给

        * 我们做我们想要做的业务处理

        * 数据源的获取直接都有spring来做

        */

    public Dept getInfoById2(int id){

//     ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");

       Dept de = (Dept) getHibernateTemplate().get(Dept.class, new Long(id));

       return de;

    }

}


第二篇:公司骨干学习心得体会


公司骨干学习心得体会

这段时间,为了全面地提升渝百莎公司的各个方面,加强发展的力度,为日后的工作更上一个台阶,公司安排了一些负责销售的骨干外出学习了。

今次,公司外派骨干外出学习。全面地体现了“活到老,学到老”是亘古不变的名言,千古传颂,主要是说一个人在有生之年要不断地学习,充实自己的知识、能力等,使自己成为一个知识渊博的人。正如人一样,在这个竞争激烈的社会里面,必须做到“生命尚存,奋斗不息”,“活到老,学到老”,要时时懂得提升自己,否则就如一潭死水,越来越臭,最终被世人所远离,被社会所整治。对此,我们公司懂得如何去主动出击,懂得如何去寻求发展,懂得如何去拓展阅历??我个人,觉得确实是好的。

公司的骨干,有机会外出学习,务必是件好事。不仅有利于员工拓展自己的阅历,提升自己的能力;而且也有助于公司日后朝着良好的方向发展。公司的骨干外出学习回来后,也给我们分享了他们的学习心得。他们转述、分享学习的心得,真的不一般,不想学校任课老师的照本宣科,都是很实际地表述了我们应该如何在这个鱼龙混杂,千变万化的社会中谋求发展,执着追求,迈向成功。

现在,我们不妨倒过来思考一下,“学到老,活到老”,也就是说,只有不断地学习,才能生存得更久。不管对于一个人还是对于一个企业,这点都很重要。人需要学习,去补充知识,这样才有能力去应对面临的问题,使个人得

到进步。同样,一个企业更需要从内部、外部不断地学习,以了解、适应环境的变化,抓住企业发展的机遇,这样才能实现企业的基树常青。学习型组织是指通过建立组织共同愿望、系统思考以及团队学习来改善组织的心智模式,以达到自我超越的境地。现在企业所追求的“学习型组织”,笔者认为,从中国文化的角度讲,其实就是“学到老,活到老”,只不过前者理论化了,但精髓如出一辙。相信我们渝百莎公司会有个美好未来,我的未来不是梦!

更多相关推荐:
民法学习心得体会

民法学习心得体会民法原理在我们现实生活中真的是无处不在,衣食住行各方面都有可能会和民法打上“交道”,毫不夸张的说,我们每个人从出生到死亡基本上都是生活在民法的框架范围内,因此学习好民法,掌握好民法,运用好民法就…

民族团结学习心得体会1

民族团结学习心得体会王帅自公元前xx年西汉设西域都护府以来,新疆就作为祖国不可分割的一部分纳入了祖国版图。几千年来,在这块土地上各族人民交融相处繁衍生息,共同缔造了灿烂辉煌的中华文化,谱写了一曲曲维护祖国统一、…

法律的学习心得体会

法律的学习心得体会自XX年x月份以来,我们在学校领导的组织下,通过多种形式,进行了“法律进学校”的学习。我们集中学习了《中华人民共和国宪法》、《中华人民共和国教育法》、《中华人民共和国义务教育法》、《中华人民共…

营销渠道,学习,心得,体会

对营销渠道学习的心得体会前言经过一个学期对营销渠道及物流管理的学习,给自己最大的感受可以概括为“受益匪浅”。因此为了深刻巩固知识,对于这次作业且当做是一次对这门课程的期末复习吧,当然其中也会有很多我自己的心得体…

入党学习心得体会

学习心得尊敬的党组织:怀着无比激动的心情,我十分荣幸地参加了中共广州现代信息工程职业技术学院委员会业余党校第九期入党积极分子培训班的学习。通过此次学习,我深刻的认识到:作为一名要求入党的积极分子,首先必须有一个…

20xx年师德师风学习心得体会

20xx年师德师风学习心得体会镇巴县泾洋镇中心小学刘祥华国家的兴衰,取决于教育;教育的兴衰,取决于教师。教师是立校之本,而师德师风则是教育之魂。从古至今,在人们心目中,似乎很难找出比教师更受敬重的职业。只要用真…

积极分子党课学习心得体会范文

积极分子党课学习心得体会范文一个星期紧张而又充实的党课学习,已圆满地落下帷幕。通过这一个月的党课学习,我受到了一次完整的,系统的党的思想理论教育,我对党的认识也从最初的感性认识发展到现在,有一定的理性认识。可以…

学习心得体会范文

学习心得体会范文心得一广泛在修养方面求突破歌德曾说过ampldquo人不光是生来就拥有一切而是靠他从学习中得到的一切来造就自己amprdquo作为一名财政监督检查人员不但要掌握相关的知识还要熟悉最新的法律法规和...

学习党的知识心得体会

姓名黄顺喜专业国际经济与贸易学号1020xx0129党理论知识心得体会通过对党知识理论的学习使我更加深入地认识了中国共 产 党同时也让我深刻体会到中国共 产 党是多么优秀的一个政党中国共 产 党是中国工人阶级的先锋队是中国...

党的理论知识学习心得感想

党的理论知识学习心得感想发布时间20xx0227来源学习网中国共 产 党是中国工人阶级的先锋队同时是中国人民和中华民族的先锋队是中国特色社会主义事业的领导核心始终代表中国先进生产力的发展要求代表中国先进文化的前进方...

对党的学习心得

我有幸参加了由院举办的第二届发展对象培训班的学习我获益良多提高了对理论学习的认识也增强了自觉学习的认识特别是当前党和国家正在加强共 产 党员的先进性教育与加强和改进大学生思想政治教育工作的有利环境下能够及时地聆听各...

学习茶文化的心得体会

学习茶文化的心得体会学习茶文化这门课程首先让我学到的不是茶而是礼老师课前课后那真诚的鞠躬礼让我深感讶异和震憾这礼仿佛弥合了老师与学生之间鸿沟表明了我们不是单方面的传授知识而是在做思想上的交流老师的这份恭敬之心使...

学习心得体会(439篇)