- 浏览: 57013 次
- 性别:
- 来自: 北京
文章分类
最新评论
一。测试
二。service服务层
三。dao接口
四。dao实现
五。三种父类
六。spring的application.xml配置
七。实体类
public class UserServiceTest { public static void main(String[] args) { ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); UserService service = (UserService)ac.getBean("userService"); User u = new User(); u.setName("haha success!!"); service.add(u); } }
二。service服务层
@Component public class UserService { private UserDAO userDAO; private LogDAO logDAO; //@Transactional public void add(User u){ this.userDAO.save(u); Log log = new Log(); log.setMessage("a object saved!"); this.logDAO.save(log); } @Resource(name="userDAOImpl") public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } @Resource(name="logDAOImpl") public void setLogDAO(LogDAO logDAO) { this.logDAO = logDAO; } public UserDAO getUserDAO() { return userDAO; } public LogDAO getLogDAO() { return logDAO; } }
三。dao接口
public interface LogDAO { public void save(Log log); } public interface UserDAO { public void save(User u); }
四。dao实现
//直接将hibernateTemplate组件,通过@Resource注入 @Component public class LogDAOImpl implements LogDAO{ private HibernateTemplate hibernateTemplate; public void save(Log log){ hibernateTemplate.save(log); } public HibernateTemplate getHibernateTemplate() { return hibernateTemplate; } @Resource(name="hibernateTemplate") public void setHibernateTemplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } } //调用继承父类获得Template,可以继承以下三种父类Template @Component public class UserDAOImpl extends SuperDAO2 implements UserDAO{ public void save(User u) { this.getHibernateTemplate().save(u); } }
五。三种父类
@Component public class SuperDAO { private HibernateTemplate hibernateTemplate; public HibernateTemplate getHibernateTemplate() { return hibernateTemplate; } @Resource public void setHibernateTemplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } } //直接将hibernateTemplate组件,通过@Resource注入父类,不继承何类 @Component public class SuperDAO2 extends HibernateDaoSupport{ @Resource public void setSuperHibernateTemplate(HibernateTemplate hibernateTemplate) { super.setHibernateTemplate(hibernateTemplate); } } //直接将hibernateTemplate组件,设置成HibernateDaoSupport的hibernateTemplate属性 @Component public class SuperDAO3 extends HibernateDaoSupport{ @Resource public void setSuperSessionFactory(SessionFactory sessionFactory){ super.setSessionFactory(sessionFactory); } } //直接将sessionFactory,设置成HibernateDaoSupport的sessionFactory属性
六。spring的application.xml配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!-- 配置自动装配 AutowiredAnnotationBeanPostProcessor等接口,实现所有注入等功能 --> <context:annotation-config/> <!-- 配置扫描包路径,将包下所有组件实例化 --> <context:component-scan base-package="com.job"/> <!-- 在spring容器中,创建数据库连接Bean --> <bean id="DataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf8"/> <property name="username" value="root"/> <property name="password" value="admin"/> </bean> <!-- 创建hibernate的sessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <!-- 将spring容器中存在的数据库连接Bean,配置到sessionFactory中 --> <property name="dataSource" ref="DataSource"/> <!-- 配置hibernate映射实体对象到表的文件(一) --> <property name="packagesToScan"> <list> <value>com.job.model</value> </list> </property> <!-- 配置hibernate属性,方言,显示sql,是否创建数据表 --> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> </bean> <!-- 注入sessionFactory,获得spring的HibernateTemplate --> <!--设置成HibernateDaoSupport的sessionFactory属性不需要HibernateTemplate --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate4.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory"/> </bean> </beans>
七。实体类
@Entity @Table(name="log") public class Log { private int id; private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } } @Entity @Table(name="Users") public class User { private int id; private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Id @GeneratedValue @Column(name="USER_ID") public int getId() { return id; } public void setId(int id) { this.id = id; } }
发表评论
-
spring_hibernate_transation_annotation&xml
2014-04-21 21:08 625一。测试 public class UserService ... -
spring_hibernate_xml
2014-04-11 23:44 363一、实体类 public class User { p ... -
spring_xml_AOP
2014-04-09 21:34 545一。配置服务类组件 @Component public ... -
Spring_Annotation_AOP
2014-03-30 00:16 451一。配置服务类组件 @Component public ... -
spring_annotation_scan(Component)
2014-03-24 20:14 505spring自动 项目结构如下: 一。实体类(不重要) ... -
spring_annotation_DI(autoware&resoure)
2014-03-23 23:03 413一。引入jar包 spring.jar commons- ... -
spring初体验
2014-03-17 23:37 495一。引入jar包 spring.jar commons- ...
相关推荐
3. **Hibernate Template或JPA**:Spring提供了HibernateTemplate,这是一个简化Hibernate操作的工具类。然而,随着Spring Data JPA的出现,现在更多地推荐使用JPA,它提供了一种基于标准的、与ORM供应商无关的方式...
4. `spring_integration_hibernate3_template`:这部分可能是使用Spring的HibernateTemplate或HibernateDaoSupport的示例,这些模板类可以帮助简化与Hibernate的交互,避免了手动管理Session。 整合这三个框架,...
通过`spring_integration_hibernate3_template`文件,我们可以学习如何配置HibernateTemplate,以及如何在业务逻辑中调用其方法来执行SQL操作,如查询、插入、更新和删除等。 五、Spring AOP的XML配置 除了注解...
在Spring的配置文件中,我们可以使用Hibernate的Template或DAO来处理数据库操作。例如,创建一个HibernateTemplate Bean: ```xml <bean id="hibernateTemplate" class="org.springframework.orm.hibernate5....
4. **数据访问层**:在Spring中定义数据访问接口,使用Hibernate的Template或者JPA的Repository来实现这些接口。这样,业务层可以依赖这些接口,而不是直接依赖Hibernate,实现了数据访问层的解耦。 5. **业务逻辑...
5. **整合Spring和Hibernate**:在Spring配置文件中定义SessionFactory Bean,使用Hibernate的Template或SessionFactory来操作数据库。 6. **测试与调试**:编写JUnit测试用例,确保各个层次的交互正常工作,无异常...
-- Hibernate Template --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate"> <!-- AOP事务管理 --> <bean id="transactionManager" class="org.spring...
在Spring框架中,Hibernate可以通过Spring Data JPA或Hibernate Template进行集成,进一步简化数据库操作。 **JSON (JavaScript Object Notation)** 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器...
4. **DAO(Data Access Object)抽象**:Spring提供Template类,如`HibernateTemplate`或`HibernateDaoSupport`,来简化Hibernate的使用。不过,更推荐使用Spring Data JPA或Spring Data JDBC,它们提供了更高级别的...
【Struts+Spring+Hibernate框架】是企业级Java应用中常用的三大开源框架组合,用于构建高效、可扩展的Web应用程序。本指南将详细介绍如何在指定环境下(Windows XP、JDK 1.5、MyEclipse5.5、Struts1.2、Hibernate3、...
4. **Query构建**:Spring Data JPA或Spring JDBC的Template类可以简化查询构建,减少对Hibernate Query Language (HQL) 的依赖。 在"springupgrade"这个文件名中,我们可以推测这可能是一个关于Spring框架升级的...
这得益于Spring的AOP和Hibernate的Template模式。例如,Spring的HibernateTemplate或JpaTemplate可以提供通用的CRUD操作,而自定义的Dao只需定义特定的查询方法即可。这种设计模式提高了代码的复用性和可维护性。 ...
Spring MVC 和 Hibernate 是两个在Java Web开发中广泛使用的框架,它们分别处理模型-视图-控制器(MVC)架构中的不同部分以及数据持久化。Spring MVC 提供了强大的请求处理和视图管理功能,而 Hibernate 则是 ORM...
在Spring框架中,可以通过Spring Data JPA或Hibernate Template来集成和管理Hibernate,实现更高级的事务管理和数据访问控制。 学习和掌握这三个框架,你需要理解以下知识点: 1. **MVC设计模式**:理解模型、视图...
### Spring集成Struts与Hibernate详解 #### Spring集成Struts **背景介绍** 随着Java技术的发展,Struts作为最早的MVC框架之一,在Java EE领域中占据了重要地位。虽然随着时间的推移,新的框架和技术不断涌现,但...
### Struts、Spring、Hibernate三大框架的原理和优点 #### 1. Struts框架的原理与优点 **Struts** 是一种基于MVC(Model-View-Controller)设计模式的Web应用框架,它广泛应用于Java Web开发中。下面详细介绍...
4. 数据库实体类:使用Hibernate注解,如@Entity、@Table等,与数据库表进行映射。 5. JpaRepository接口:定义数据库操作,Spring Data JPA会自动生成实现。 6. Service层接口及实现:业务逻辑处理,调用Jpa...
2. **DAO(Data Access Object)**:Spring4的Template类(如HibernateTemplate)简化了DAO层的实现,降低了代码复杂性。 3. **Spring JDBC与Hibernate集成**:Spring4可以与Hibernate无缝集成,统一数据访问策略。 ...
4. **数据持久化**:Hibernate负责将Java对象与数据库表进行映射,实现数据的持久化操作。 5. **返回响应**:处理完请求后,Action类通过Struts框架将结果转发到特定的JSP或FreeMarker模板进行渲染,然后返回给...