`
caiying0504
  • 浏览: 343033 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring2.0+hibernate3.0配置多个数据库

阅读更多
Spring包装Hibernate的话所有的基本配置都写在applicationContext.xml文件中.
<!-- (读) 数据源 -->
        <bean id="readDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
        <value>${readDataSource.driver}</value>
        </property>
        <property name="url">
        <value>${readDataSource.url}</value>
        </property>
        <property name="username">
        <value>${readDataSource.name}</value>
        </property>
        <property name="password">
        <value>${readDataSource.password}</value>
        </property>
        </bean>

<!-- (写) 数据源 -->
        <bean id="writeDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
        <value>${writeDataSource.driver}</value>
        </property>
        <property name="url">
        <value>${writeDataSource.url}</value>
        </property>
        <property name="username">
        <value>${writeDataSource.name}</value>
        </property>
        <property name="password">
        <value>${writeDataSource.password}</value>
        </property>
        </bean>
        
<!-- hibernate配置文件  -->
         <bean id="hibernateconfig" class="org.springframework.core.io.ClassPathResource">
         <constructor-arg value="hibernate.cfg.xml"></constructor-arg>
         </bean>

<!-- (读)hibernate数据库链接  -->
          <bean id="readSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
          <property name="dataSource" ref="readDataSource"></property>
          <property name="configLocation" ref="hibernateconfig"></property>
          </bean> 
          
<!-- (写)hibernate数据库链接  -->  
          <bean id="writeSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
          <property name="dataSource" ref="writeDataSource"></property>
          <property name="configLocation" ref="hibernateconfig"></property>
          </bean>             

<!-- (读)jdbc模板  -->
          <bean id="readJdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
          <property name="dataSource"><ref local="readDataSource"/></property>
          </bean>
        
<!-- (写)jdbc模板  -->
          <bean id="writeJdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
          <property name="dataSource"><ref local="writeDataSource"/></property>
          </bean>       


我遇到的情况是配置完后tomcat6能启动,但是访问是就抛出no bean named 'sessionFactory'is defined
原因是在web.xml中有配置sessionFilter的过滤器,它用来控制session的开关,它指向的类是
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
这个类中有个setSessionFactoryBeanName的方法默认值是“sessionFactory”,而我把sessionFactory的名字改为了readSessionFactory和wirteSessionFactory。
这时可以去web.xml中设置sessionFactory的beanName为
readSessionFactory或wirteSessionFactory,但是只能设置一个值,而我要用的是双数据库。最后的解决方案是我在web.xml配置了两个filter把sessionFactoryBeanName初始化成不同的值代码如下
<filter>
	<filter-name>readSessionFilter</filter-name>
	<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
	<init-param>
	<param-name>sessionFactoryBeanName</param-name>
	<param-value>readSessionFactory</param-value>
	</init-param>
	</filter>
	<filter-mapping>
	<filter-name>readSessionFilter</filter-name>
	<url-pattern>*.action</url-pattern>
	</filter-mapping>
	
	<filter>
	<filter-name>writeSessionFilter</filter-name>
	<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
	<init-param>
	<param-name>sessionFactoryBeanName</param-name>
	<param-value>writeSessionFactory</param-value>
	</init-param>
	</filter>
	<filter-mapping>
	<filter-name>writeSessionFilter</filter-name>
	<url-pattern>*.action</url-pattern>
	</filter-mapping>

这时你在配置dao时就可选择不同的sessionFactory,而且他们的session就交由不同的filter控制开关了。
分享到:
评论

相关推荐

    spring2.5+struts2.0+hibernate3.0例子 下载

    这个"Spring2.5+Struts2.0+Hibernate3.0例子"的压缩包文件,很可能是为了展示如何将这三个框架集成在一起,实现数据持久化、业务逻辑控制和视图呈现的无缝配合。开发者通常会在这个例子中找到配置文件(如web.xml、...

    struts2.0+spring2.0+hibernate3.0

    Struts2.0、Spring2.0和Hibernate3.0是Java Web开发中经典的MVC框架组合,被誉为SSH(Struts、Spring、Hibernate)框架。这个项目旨在展示如何将这三个框架进行集成,以便在实际应用中实现高效的数据访问和业务逻辑...

    struts2.0+hibernate3.0+spring2.0整合(2)

    在Struts2.0+Hibernate3.0+Spring2.0的整合中,首先,我们需要在项目中引入这三个框架的库文件,这些库文件通常位于"lib"目录下。Struts2的核心库包括struts2-core、struts2-convention-plugin等,Hibernate的库有...

    struct1.2+ hibernate3.0+spring2.0 例子

    在IT行业中,`Struts1.2`、`Hibernate3.0` 和 `Spring2.0` 是三个非常重要的框架,它们分别代表了MVC(Model-View-Controller)架构、对象关系映射(ORM)以及依赖注入和企业级应用框架的基石。这个压缩包文件的标题...

    spring2.0+hibernate3.0+struts2.0整合jar包

    这个"spring2.0+hibernate3.0+struts2.0整合jar包"是将这三个框架的特定版本打包在一起,方便开发者快速搭建基于SSH的开发环境。下面我们将详细探讨这三大框架及其整合的关键知识点。 **1. Spring框架(2.0版)** ...

    Struts1.x+sping2.0+hibernate3.0

    Struts1.x、Spring2.0 和 Hibernate3.0 是经典的 Java Web 开发框架组合,被称为 SSH(Struts + Spring + Hibernate)。这个组合在过去的十几年里被广泛应用,为开发人员提供了一个强大的、全面的企业级应用解决方案...

    Struts2.0+Spring2.0+Hiberante3.0

    本项目基于Struts2.0、Spring2.0和Hibernate3.0,提供了SSH2的实践案例,便于开发者学习和理解。 **Struts2.0** Struts2是一个开源的MVC(Model-View-Controller)框架,它是Struts1的升级版,引入了更多现代Web...

    struts2.0+spring2.0+hibernate3.0整合后的CRUD.rar

    自己研究了一个多星期了,咨询了好多高手,也看了好几个视频,终于做成了S2SH的整合。我的平台是:MyEclipse6.0、Sql Server 2000、Tomcat6.0。压缩包里是整个项目,带jar包,可以直接导入,但数据库得自己按照...

    Struts1.3.8_Spring2.0_hibernate3.0(jars)

    Struts1.3.8_Spring2.0_hibernate3.0(jars)是一个整合了三个主流Java企业级开发框架的压缩包,分别是Struts、Spring和Hibernate。这些框架在Java Web开发中扮演着至关重要的角色,它们各自解决了一部分问题,而组合...

    在Netbeans中使用Struts2.0+Spring2.5+Hibernate框架

    本文旨在通过一个简单的登录示例项目,详细介绍如何在Netbeans IDE环境下构建基于Struts2.0、Spring2.5与Hibernate框架的应用程序。 #### 二、环境搭建与准备 ##### 1. 软件需求 - JDK 1.6:确保安装了正确的Java...

    jbpm3.2.2+spring2.5+hibernate3.0+struts2.0

    jbpm负责流程管理,Spring2.5作为整体的容器,管理各个组件的生命周期和依赖关系,Hibernate3.0处理数据库交互,而Struts2.0则作为前端控制器,处理用户请求并展示结果。这样的组合在当时的开发环境中非常流行,因为...

    spring2.0 hibernate 3.0 struts1.1 xfire1.2 整合

    这里我们关注的是一个整合了Spring 2.0、Hibernate 3.0、Struts 1.1以及XFire 1.2的项目。这些技术都是Java Web开发中的重要组件,各自在应用程序的不同层面提供服务。 Spring 2.0是Java企业级应用中的一个核心框架...

    Hibernate3.2+Spring3.0+Struts2.0中文API

    Spring3.0涵盖了IoC容器、数据访问/集成、Web、AOP、工具和支持等多个模块。特别是Spring的DAO和事务支持,可以无缝集成Hibernate,实现数据库操作的统一管理。同时,Spring MVC是其Web层的一个强大组件,提供了模型...

    struts2.0spring2.5hibernate3.0框架整合步骤

    综上所述,通过以上步骤可以有效地将Struts2.0、Spring2.5和Hibernate3.0这三个框架整合在一起,形成一个完整的Web应用程序开发框架。这种整合不仅可以提高开发效率,还能增强应用的可维护性和扩展性。

    struts2.0 spring2.5 hibernate3.0

    Struts2.0、Spring2.5和Hibernate3.0是Java Web开发中经典的三大框架,它们各自在应用程序的不同层面提供了强大的支持,并且通过合理的整合,可以构建出高效、灵活的MVC(Model-View-Controller)架构的应用程序。...

    netctoss2

    《深入剖析Netctoss2:基于Struts2、Spring2.0与Hibernate3.0的框架集成实践》 Netctoss2是一个典型的Java Web应用程序,它巧妙地融合了Struts2、Spring2.0和Hibernate3.0这三大主流开源框架,以实现高效、灵活的...

    struts2.1.18+hibernate3.5.6+spring3.0整合jar

    Spring框架则是一个全面的企业级应用开发框架,它涵盖了依赖注入、AOP(面向切面编程)、数据访问、Web应用、任务调度等多个方面。Spring3.0版本引入了大量新特性,如XML配置的替代——基于注解的配置,以及...

    Java人力资源管理系统,基于 spring mvc,Spring2,Hibernate3 框架开发

    《Java人力资源管理系统详解——基于Spring MVC、Spring 2.0与Hibernate 3.0框架》 在现代企业管理中,人力资源管理扮演着至关重要的角色。利用先进的技术手段进行人力资源的信息化管理,可以极大地提高企业的运营...

    struts2.2+spring3+hibernate3.6

    在实际开发中,开发者会将这三个框架的jar包整合到项目中,例如在描述中提到的"struts2+spring2.5+hibernate3.3",可能表示的是一个使用了Struts2.2、Spring3.0和Hibernate3.3的项目配置。文件名称列表中的"struts2+...

    java程序员个人简历04.docx

    + 软件环境:Tomcat 6.0、Struts 2.0 + Spring 3.0 + Hibernate 3.0 框架、JSP+CSS+JavaScrip+AJax 技术、SQL Server 数据库 + 硬件环境:Windows XP + 开发工具:MyEclipse8.5 + 项目职责: - 采用 DIV+CSS+...

Global site tag (gtag.js) - Google Analytics