小学期已经开始了三天的学习,这三天我们接触到了很多新颖的内容,我们开始试用Myeclipse开发环境,集成了很多我们不熟悉的数据包,我们最终的目标是在Myeclipse开发环境下构建ssh框架,实现一个连接了数据库的客户信息系统,并添加增删改查等基本步骤的小型应用。第一次接触这样小有规模的软件开发活动,虽然老师说这都是体验环节,不会增加相关的课时辅导代码实现与集成管理,但这样的体验已经调动起我们十足的兴趣了,对此,我们很希望能通过课余时间的学习加强我们的软件开发功底。

  这里我先想简明地介绍一下ssh框架。SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。

老师告诉我们,采用ssh开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。

 首先,以下是我的Package Workspace界面:

 

这一部分真的很复杂,我们下载适用的JDK,还集成管理新建了一批包文件,可是还不是很懂他们之间的逻辑关系和核心作用,此后我希望能结合ssh框架的内容好好补习这些知识点,这里我还要展示一下我在MySQL中新建的表格,以及我的关键部分代码:

 

<?xml version="1.0" encoding="UTF-8"?>

<beans

       xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

 

<!-- 数据库-配置数据连接池 -->

<bean id="dataSource"

class="org.apache.commons.dbcp.BasicDataSource">

<property name="driverClassName"

value="com.mysql.jdbc.Driver">

</property>

<property name="url"

                     value="jdbc:mysql://localhost:3306/dbssh">

              </property>

              <property name="username" value="root"></property>

              <property name="password" value="123456"></property>

              <property name="maxActive" value="100"></property>

              <property name="maxWait" value="500"></property>

              <property name="defaultAutoCommit" value="true"></property>

              </bean>

             

              <!--sessionFactory配置与管理 -->

              <bean id="sessionFactory"

              class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

              <property name="dataSource" ref="dataSource"></property>

              <property name="hibernateProperties">

              <props>

              <prop key="hibernate.dialect">

              org.hibernate.dialect.MySQLDialect

              </prop>

              <prop key="hibernate.show_sql">true</prop>

              </props>

              </property>

              <property name="mappingResources">

              <list>

              <value>com/crm/bean/Cust.hbm.xml</value>

              </list>

              </property>

              </bean>

             

              <!-- 配置DAO -->

              <bean id="custDao" class="com.crm.impl.CustDaoImpl">

              <property name="sessionFactory">

              <ref bean="sessionFactory"/>

              </property>

              </bean>

             

              <!-- 配置service -->

              <bean id="custService" class="com.crm.service.impl.CustServiceImpl">

                            <property name="custDao" ref="custDao"></property>

       </bean>

             

              <!-- 配置action -->

              <bean id="custSaveAction" class="com.crm.action.CustSaveAction">

              <property name="service">

              <ref bean="custService"/>

              </property>

              </bean>

             

</beans>

  期间因为JDK版本过高的问题,第一天的小学期运行结果无法达到预期的要求,在老师的建议下我随意下载了JDK1.7,最后感觉下到了莫名其妙的东西,最后连Myeclipse都打不开了,在同学帮助下,我们从零开始,等于温习一遍整个过程,琢磨了大部分细节,解决了所有问题,后面两题的主要问题也解释检查BUG了,我跟老师学习到了很多检查bug的技巧,收获很多,nice

 posted on 2017-06-28 15:07  Excelent_RJ  阅读(137)  评论(0编辑  收藏  举报