XML code
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="url">
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SSH</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value>sa</value>
</property>
</bean>
<!-- 配置Hibernate的事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/sql/mysql/Test.hbm.xml</value></list>
</property>
</bean>
<!-- 事务处理类型 -->
<bean id="baseTxProxy" lazy-init="true" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="need*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="service" parent="baseTxProxy">
<property name="target">
<bean class="Service.service" autowire="byName">
<property name="dao">
<ref bean="TestDAO"/>
</property>
</bean>
</property>
</bean>
<bean id="TestDAO" class="com.sql.mysql.TestDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="TestBO" class="com.sql.bo.TestBO">
<property name="tdao">
<ref bean="TestDAO"/>
</property>
</bean>
<!-- 实例化pojo类注入到action -->
<bean id="Test" class="com.sql.mysql.Test"></bean>
<bean name="/insert" class="com.yourcompany.struts.action.InsertAction">
<property name="bo">
<ref bean="TestBO"/>
</property>
<property name="pojo">
<ref bean="Test"/>
</property>
<property name="ser">
<ref bean="service"/>
</property>
</bean>
</beans>
配置文件
dao方法
Java code
/**
* 自动事务处理
* @param pojo
*/
public void needSave(Test pojo)
{
log.debug("saving Test instance");
try {
getHibernateTemplate().save(pojo);
System.out.println("插入成功");
getHibernateTemplate().save(pojo);
//throw new UnsupportedOperationException(" rock back");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
分享到:
相关推荐
在SSH整合中,Spring主要负责管理Bean的生命周期,提供事务管理,以及作为数据访问层的接口,如Hibernate SessionFactory的创建。Spring4.2.2版增加了对Java 8的支持,提升了对Web和移动开发的兼容性。 Hibernate是...
描述中的"SSH(strust + spring + hib)"进一步确认了这个压缩包是关于这三个框架集成使用的示例。通常,这种集成可以实现更高效、更灵活的应用开发,因为Struts处理前端请求,Spring负责整体管理和协调,而Hibernate...
在零配置环境中,我们不再在`web.xml`中配置DispatcherServlet,而是利用Spring Boot的自动配置特性。Spring Boot允许开发者创建独立的、生产级别的基于Spring的应用程序,无需繁琐的XML配置。通过`@SpringBoot...
Spring框架是SSH中的核心,它提供了一种强大的依赖注入(DI)机制,使得对象之间的关系可以通过配置文件或注解来管理。Spring还提供了事务管理、AOP(面向切面编程)等功能,使得企业级应用的复杂性得以简化。在本...
Struts2.3.7、Spring3.2和...每个框架都承担了特定的任务,Struts2负责请求处理,Spring提供依赖管理和事务管理,而Hibernate则处理数据库操作。通过熟练掌握这些知识点,开发者能够构建出符合企业级标准的应用。
此外,Spring还包含了对数据库访问、事务管理、任务调度等多个方面的支持,是一个全面的开发框架。 3. **Hibernate**: Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。通过...
- **Spring管理Hibernate SessionFactory**:Spring配置SessionFactory,提供事务管理,简化DAO层代码。 - **DispatcherServlet与Front Controller**:Spring MVC的DispatcherServlet与Struts2的Front Controller...
在`struts2_spring_hib_annotation`这个项目中,可以看到SSH框架结合使用了注解(Annotation)。注解是一种元数据,可以提供有关代码的额外信息,使得框架能够自动配置和管理组件。例如,Struts2的Action类可能使用...
在IT行业中,尤其是在企业级应用开发领域,"Truts+Spring+Hibernate"是一个常见的技术栈,也被称为SSH框架。这三种技术的整合是为了解决Web应用开发中的各种复杂问题,提供一套完整的解决方案。下面将详细阐述这三者...
"status2+orcl+hib+spring+ssh"的描述揭示了系统采用的技术栈,这些技术在现代Web应用开发中具有重要地位。 1. **status2**:这可能是指项目的状态或版本,但具体含义没有明确说明。在一般情况下,这可能指的是项目...