在SSH组合方案四的基础上修改为SSH组合方案五
SSH组合方案五:Hibernate.cfg.xml由Spring管理,用到事务,事务在service层
***说明:SSH组合方案四就在SSH组合方案三上加了一层,业务逻辑层:com.mengya.service层
其实,我们以前的做法在action中完成了业务逻辑操作.在action中直接调用dao层,
这样action即作为控制器也作为业务逻辑,如在删除操作中,action先要判断有没有外键约束再做删除.
现在action中的删除只调用业务逻辑层com.mengya.service层里的删除方法即可.由业务逻辑层做有没有外键约束检查
1,应先写好包
com.mengya.entity:实本包
com.mengya.dao:DAO接口包
com.mengya.dao.imple实体包
com.mengya.service:业务逻辑接口包
com.mengya.service.imple:业务逻辑实现包
com.megnya.util:uitl包
2,加上Spring支持
3,加上Struts支持
4,加上Hibernate支持
5,由Hibernate创建entity类和DAO
可以在dao中重载一下delete方法,由ID删除对象
由产生的DAO抽出接口来分别把它们分到com.megnya.dao与com.mengya.dao.imple包中
6,从DAO层中抽出可能用到的方法作为接为业务逻辑层的接口,在业务逻辑层实现层调用DAO实现它接口
7,加入Struts中的Action与ActionForm
8,修改struts-config.xml中的action的type值为:org.springframework.web.struts.DelegatingActionProxy作为代理
在struts-config.xml中加上
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="classpath*:applicationContext.xml"/>
</plug-in>
9,在actionForm中封装BO,在action中写上方法
在action中就直接调用service层就可以了,而不是调用dao
10,在Spring的applicationContext.xml中配置上action和service
11,发布出错,少了一个包 commons-pool-1.3.jar
12,没有处理gbk问题,在web.xml中可以加在Spring帮我们写好的filter
13,在Spring的applicationContext.xml中配置
<!-- 配置数据源 -->
<bean id="myds" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://localhost:1433;databaseName=mp">
</property>
<property name="username" value="sa"></property>
<property name="password" value="mengya"></property>
</bean>
<!-- 配置sessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="myds" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/mengya/entity/Student.hbm.xml</value>
</list>
</property>
</bean>
<!-- 配置事务管理器 -->
<bean id="transacitonManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 配置抽象事务代理,这个bean可以被多个对象继承 -->
<bean id="abstractTranProxy" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transacitonManager" />
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="merge*">PROPAGATION_REQUIRED</prop>
<prop key="*">readOnly</prop>
</props>
</property>
</bean>
<!-- 这里的DAO是目标对象 -->
<bean id="StudentDAO" class="com.mengya.dao.imple.StudentDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- 代理DAO -->
<bean id="StudentDAOProxy" parent="abstractTranProxy">
<property name="target" ref="StudentDAO"/>
</bean>
<!-- 配置service 将dao注入service中 -->
<bean id="stuservice" class="com.mengya.service.imple.Stuserviceimple">
<property name="studao" ref="StudentDAOProxy" />
</bean>
<!-- action中指向代理对象 -->
<bean name="/stu" class="com.mengya.struts.action.StuAction">
<property name="stuservice" ref="stuservice" />
</bean>
OK....
分享到:
相关推荐
hibernate.cfg.xml hibernate框架的配置文件
在这个场景中,我们关注的是不通过传统的`hibernate.cfg.xml`文件来配置Hibernate,而是借助Spring框架的`LocalSessionFactoryBean`进行整合。 首先,`hibernate.cfg.xml`是Hibernate传统配置文件,它包含了数据库...
它允许我们在Spring配置文件中定义所有必要的Hibernate设置,包括数据库连接、事务管理、实体映射等,从而无需直接在`hibernate.cfg.xml`中进行配置。 1. `mappingResources`: 这个属性用于指定类路径下具体的...
本文将深入探讨如何在JavaEE项目中整合Spring和Hibernate,以及hibernate.cfg.xml配置文件的作用。 首先,Spring是一个全面的后端应用程序框架,它提供了依赖注入(Dependency Injection,DI)、面向切面编程...
《hibernate.cfg.xml配置与数据库驱动详解》 在Java Web开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使开发者能够更专注于业务逻辑而不是底层数据存储。而`hibernate.cfg.xml`文件是...
但在Spring中,我们可以利用Spring的`LocalSessionFactoryBean`替代`hibernate.cfg.xml`,将Hibernate的配置信息整合到Spring的配置文件中,这样可以更好地实现依赖注入和管理。 1. **Spring配置Hibernate** - 在...
接下来,我们需要在项目的src/main/resources目录下创建Hibernate的配置文件(例如:hibernate.cfg.xml)。此文件用于定义数据源、JDBC连接信息、Hibernate的属性以及映射文件的位置。配置文件应包含如下内容: ```...
它通过实体类和映射文件(hibernate.cfg.xml及.hbm.xml)将对象与数据库表关联起来。在XML配置文件中,我们指定数据源、连接池、实体类和表的映射关系。此外,使用SessionFactory和Session对象,我们可以方便地执行...
<property name="configLocation" value="classpath:hibernate.cfg.xml" /> <!-- 其他Hibernate配置 --> ``` 3. **数据源配置** Spring还负责管理数据源,如使用`DataSource` bean来配置数据库连接池。常用的...
Hibernate:spring.local.hibernate.cfg.xml Struts:struts.xml、struts.properties 配置很简单,用点心看就会了,多的不说了,好好享受咯 哦 忘记介绍了, 当中还有本人写的几个自定义标签:...
在SSH中,Spring主要负责管理对象(如Service、DAO)的生命周期,提供依赖注入,以及事务管理。Spring的AOP模块可以方便地实现跨切面的关注点,如日志、安全控制等。 3. **Hibernate**:Hibernate是一个对象关系...
在Java Web开发中,SSH(Struts2、Spring、Hibernate)是一个常见的框架组合,用于构建高效、可维护的Web应用程序。本教程将聚焦于如何在IntelliJ IDEA(简称IDEA)环境中集成Hibernate,以便利用其强大的对象关系...
项目可能包含了struts、hibernate和spring的相关配置文件,如struts.xml、hibernate.cfg.xml和applicationContext.xml,以及Action类、DAO层和实体类等源代码。 在实际开发中,我们可以通过这个基础框架进行扩展,...
在本文中,我们将深入探讨如何将Spring Boot框架与Hibernate ORM集成,特别是在不使用JPA(Java Persistence API)的情况下。Spring Boot以其便捷的自动配置和简化Java应用开发而广受欢迎,而Hibernate作为Java领域...
通常,一个SSH集成的项目会包含Web应用相关的配置文件(如struts.xml、spring-servlet.xml、hibernate.cfg.xml等)、Java源代码(Action、Service、DAO、实体类等)、视图资源(JSP页面)以及数据库脚本等。...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合提供了一种高效且强大的方式来构建企业级应用,它整合了模型-视图-控制器(MVC)设计模式、依赖注入(DI)...
在sshdemo这个文件夹中,可能包含的文件有struts-config.xml、spring-beans.xml、hibernate.cfg.xml、数据库脚本、Action类、DAO接口及其实现、服务类、以及相关的JSP页面等,这些都是SSH整合用户注册功能的关键组成...
Struts2.3.16.1+Hibernate3.6.10+Spring3.2.8整合 能够运行,没有任何问题 另外附带applicationContext.xml、struts.xml、hibernate.cfg.xml
Hibernate支持自动持久化、事务管理和查询服务,其核心配置文件为hibernate.cfg.xml,其中包含了数据库连接信息和实体类的映射。 Spring框架则是一个全面的后端应用框架,提供依赖注入(DI)和面向切面编程(AOP)...
在Java企业级应用开发中,Struts2、Spring和Hibernate是三个非常重要的开源框架,它们分别专注于MVC(模型-视图-控制器)架构、依赖注入与事务管理以及对象关系映射。这些框架的组合使用,通常被称为SSH(Struts2、...