7.Spring整合Hibernate_1

Spring 整合 Hibernate

  1.Spring指定 database,给下面创建的 SessionFactory用

 1 <!-- !!!!!可以使用 @Resource 将 这个bean对象注入到DAO中,供DAO使用 !!!!! -->
 2
 3     <!-- 这是将一些目标参数写死在value中,也可以现在配置文件中 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
 4         destroy-method="close"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value>
 5         </property> <property name="url"> <value>jdbc:mysql://localhost:3306/spring</value>
 6         </property> <property name="username"> <value>root</value> </property> <property
 7         name="password"> <value>root</value> </property> </bean> -->
 8
 9
10     <!-- 使用配置文件的方式,将数据库的一些驱动信息,写到配置文件中 -->
11     <bean
12         class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
13         <!-- 可以向想象得到,在 PropertyPlaceholderConfigurer 中 存在一个 setLocations(List or
14             Array) ,这些配置信息,就放在 locations中 -->
15         <property name="locations">
16             <!-- 让Spring 去 src 目录下去找 jdbc.properties 文件 -->
17             <value>classpath:jdbc.properties</value>
18         </property>
19     </bean>
20
21     <bean id="dataSource" destroy-method="close"
22         class="org.apache.commons.dbcp.BasicDataSource">
23
24         <!-- value 为 配置文件中 key 为 jdbc.driverClassName 的值 -->
25         <property name="driverClassName" value="${jdbc.driverClassName}" />
26         <property name="url" value="${jdbc.url}" />
27         <property name="username" value="${jdbc.username}" />
28         <property name="password" value="${jdbc.password}" />
29     </bean>

  2.创建 SessionFactory ,然后注入给DAO去使用

 1 <!-- 往Spring容器中注入 sessionFactory对象(这个sessionFactory是Spring修改过的),
 2          往sessionFactory 中注入 dataSource
 3          和 annotatedClasses(实体对象)
 4          和 hibernateProperties(hibernate配置信息)
 5          这三者相当于 hibernate.cfg.xml 这个 hibernate 的配置文件-->
 6 <!-- 那么 只需要往DAO中注入sessionFactory ,那么就和 hibernate一样  生成session,操作实体-->
 7
 8     <bean id="sessionFactory"
 9         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
10         <property name="dataSource" ref="dataSource" />
11         <property name="annotatedClasses">
12             <list>
13                 <value>com.bjsxt.model.User</value>
14             </list>
15         </property>
16         <property name="hibernateProperties">
17             <props>
18                 <prop key=" hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
19                 <prop key="hibernate.show_sql">true</prop>
20             </props>
21         </property>
22     </bean>
23
24 </beans>

  3.往DAO中注入SessionFactory

 1 @Component("userDAO")
 2 public class UserDAOImpl implements UserDAO{
 3     private SessionFactory sessionFactory;
 4
 5     public SessionFactory getSessionFactory() {
 6         return sessionFactory;
 7     }
 8
 9     //在DAO中 注入 SessionFactory
10     @Resource
11     public void setSessionFactory(SessionFactory sessionFactory) {
12         this.sessionFactory = sessionFactory;
13     }
14
15     @Override
16     public void save(User user) {
17         Session session = sessionFactory.openSession();
18         session.beginTransaction();
19         session.save(user);
20         session.getTransaction().commit();
21         System.out.println(sessionFactory.getClass());
22         System.out.println("a user saved");
23     }
24
25
26 }
时间: 2024-07-30 07:19:00

7.Spring整合Hibernate_1的相关文章

springMVC+MyBatis+Spring 整合(3)

spring mvc 与mybatis 的整合. 加入配置文件: spring-mybaits.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" xm

Spring整合Struts2

Spring整合Struts21整合目的:让Spring的IOC容器去管理Struts2的Action, 2Struts2是web开源框架,Spring要整合Struts2,也就是说要在web应用使用Spring①. 需要额外加入的 jar 包:spring-web-4.0.0.RELEASE.jarspring-webmvc-4.0.0.RELEASE.jar ②. Spring 的配置文件, 和非 WEB 环境没有什么不同 ③. 需要在 web.xml 文件中加入如下配置: <!-- 配置

Spring整合hibernate4:事务管理

Spring和Hibernate整合后,通过Hibernate API进行数据库操作时发现每次都要opensession,close,beginTransaction,commit,这些都是重复的工作,我们可以把事务管理部分交给spring框架完成. 配置事务(xml方式) 使用spring管理事务后在dao中不再需要调用beginTransaction和commit,也不需要调用session.close(),使用API  sessionFactory.getCurrentSession()来

springMVC+MyBatis+Spring 整合(4) ---解决Spring MVC 对AOP不起作用的问题

解决Spring MVC 对AOP不起作用的问题 分类: SpringMVC3x+Spring3x+MyBatis3x myibaits spring J2EE2013-11-21 11:22 640人阅读 评论(1) 收藏 举报 用的是 SSM3的框架 Spring MVC 3.1 + Spring 3.1 + Mybatis3.1第一种情况:Spring MVC 和 Spring 整合的时候,SpringMVC的springmvc.xml文件中 配置扫描包,不要包含 service的注解,S

Spring整合MyBatis

首先下载jar包  mybatis-spring.jar 原因spring3.0出来的早,MyBatis3.0晚,意味着Spring不愿意去在一个没有做出发布版本的MyBatis上做过多的设置.所以,最终jar包提供者第三方. <!--Mybatis+Spring整合--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId&g

JMS 之 Active MQ 的spring整合

一.与spring整合实现ptp的同步接收消息 pom.xml: <!-- https://mvnrepository.com/artifact/org.springframework/spring-jms --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>4.3.7.RE

8 -- 深入使用Spring -- 7...2 MVC框架与Spring整合的思考

8.7.2 MVC 框架与Spring整合的思考 对于一个基于B/S架构的JAVA EE 应用而言,用户请求总是向MVC框架的控制器请求,而当控制器拦截到用户请求后,必须调用业务逻辑组件来处理用户请求.此时有一个问题:控制器应该如何获得业务逻辑组件? 最容易想到的策略是,直接通过new 关键字创建业务逻辑组件,然后调用业务逻辑组件的方法,根据业务逻辑方法的返回值确定结果. 在实际的应用中,很少见到采用上面的访问策略,因为这是一种非常差的策略.不这样做至少有如下三个原因: ⊙ 控制器直接创建业务逻

Spring整合strus2简单应用总结

本身strus2没接触过,所以这块学的一知半解,正常不整合的还没学(接着学) step: 1.创建web工程 2.在/WEB-INF/lib引入jar包 asm-3.3.jarasm-commons-3.3.jarasm-tree-3.3.jarcom.springsource.net.sf.cglib-2.2.0.jarcom.springsource.org.aopalliance-1.0.0.jarcom.springsource.org.aspectj.weaver-1.6.8.RELE

Spring整合jdbc

首先web.xml文件跟往常一样,加载spring容器和加载org.springframework.web.context.ContextLoaderListener读取applicationContext.xml文件初进行始化. 使用spring整合jdbc工具步骤: 1.使用连接池com.mchange.v2.c3p0.ComboPooledDataSource等工具创建数据源. 2.把数据源交给LazyConnectionDataSourceProxy进行管理 3.把LazyConnect