`
wangchao_17915566
  • 浏览: 169865 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

web项目使用多个数据源

阅读更多

今天接到任务,是以前用ssh开发的一套权限系统,现在我们要做新的应用,并且以后我们的开发都基于这个权限进行开发。以前都是不断的往这个权限里面加应用,现在反过来,要降低耦合。现在我的应用系统也是ssh,给这个应用加入权限使得这个应用可以单独工作,别且权限系统也可以单独工作。

      在这个应用唯一用到的就是权限的用户管理,所以将权限打成jar,放入本应用系统当中,下来就是一个项目配置两个数据源,配置方法,在tomcat当中,以前是context配置一个数据源,现在配置两个,如下

<Context path="/studentManage"  debug="0" reloadable="true" crossContext="true">

		   <Resource name="jdbc/studentManage" auth="Container" type="javax.sql.DataSource"/>
		   <ResourceParams name="jdbc/studentManage">
		     <parameter>
		        <name>factory</name>
		        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
		     </parameter>
		     <parameter>
		        <name>driverClassName</name>
		 <value>com.mysql.jdbc.Driver</value>
		     </parameter>
		     <parameter>
		   <name>url</name>
	         <value>jdbc:mysql://192.168.186.131:3306/studentmanage?useUnicode=true&amp;characterEncoding=UTF-8</value>
		
		     </parameter>
		     <parameter>
		         <name>username</name>
		         <value>root</value>
		     </parameter>
		     <parameter>
		         <name>password</name>
		         <value></value>
		     </parameter>
		     <parameter>
		         <name>maxActive</name>
		         <value>1000</value>
		     </parameter>
		     <parameter>
		         <name>maxIdle</name>
		         <value>200</value>
		     </parameter>
		     <parameter>
		     <name>maxWait</name>
		         <value>-1</value>
		     </parameter>
		   </ResourceParams>

		    <Resource name="jdbc/cms" auth="Container" type="javax.sql.DataSource"/>
		   <ResourceParams name="jdbc/cms">
		     <parameter>
		        <name>factory</name>
		        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
		     </parameter>
		     <parameter>
		        <name>driverClassName</name>
		 <value>com.mysql.jdbc.Driver</value>
		     </parameter>
		     <parameter>
		   <name>url</name>
	         <value>jdbc:mysql://192.168.186.131:3306/cms_softpark?useUnicode=true&amp;characterEncoding=UTF-8</value>
		
		     </parameter>
		     <parameter>
		         <name>username</name>
		         <value>root</value>
		     </parameter>
		     <parameter>
		         <name>password</name>
		         <value></value>
		     </parameter>
		     <parameter>
		         <name>maxActive</name>
		         <value>1000</value>
		     </parameter>
		     <parameter>
		         <name>maxIdle</name>
		         <value>200</value>
		     </parameter>
		     <parameter>
		     <name>maxWait</name>
		         <value>-1</value>
		     </parameter>
		   </ResourceParams>
		 </Context>

 

可以看出,配置了两个Resource ,这样就ok了。

下面就是整合spring配置文件,在web.xml中加载两个spring文件,一个是本应用的,一个是权限系统的。

例如

<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
          /WEB-INF/spring/permissionContext-hibernate.xml,/WEB-INF/spring/applicationContext-hibernate.xml
		</param-value>
</context-param>

 下面就是spring文件,这里我就不那出来,只是提醒大家注意的是,原来是两个应用所以他们分别有自己的datasource,sessionFactory,(就是spring文件经常配置的),现在我们整合在一个应用,所以,他们的datasource,sessionFactory千万不能重名,否则会找错配置文件的。例如第一个是datasource,第二个应该加个*1,保证不重名,这样启动服务器就行了。

    此整合仅限于不跨域状况,如果使用跨域,最好还是使用sso。

分享到:
评论

相关推荐

    Java多数据源共存,同时使用多个数据源

    压缩包文件`cili-web`可能是一个包含Web应用代码的项目,其中可能包含了实现多数据源共存的相关代码和配置。通常,项目中会有配置文件(如`application.properties`或`application.yml`)来定义数据源信息,以及...

    SpringMVC +Mybatis 多个数据源配置 DEMO + maven

    本DEMO演示了如何在SpringMVC和Mybatis框架中配置多个数据源,并结合Maven进行项目管理,提供了一个实际操作的参考。 首先,我们需要了解SpringMVC和Mybatis的基础。SpringMVC是Spring框架的一部分,主要用于处理...

    springmvc_mybatis_多数据源

    总结来说,"springmvc_mybatis_多数据源"项目展示了如何在SpringMVC和MyBatis框架下有效地管理和使用多个数据源。这涉及到Spring的事务管理、数据源路由、MyBatis的配置等多个方面,对于理解和实践企业级应用开发中...

    Web项目需求说明书-样板,项目交付物

    本资源是 Web 项目需求说明书的样板,涵盖了项目概况、项目目标、系统架构、搜索引擎、数据中台、API 网关、搜索客户端、智能问答等多个方面的知识点。 项目概况 本项目的建设目标是构建一整套智能搜索问答服务,...

    20个JAVA WEB项目源代码设计资料

    Java Web项目源代码设计资料是一份宝贵的资源,涵盖了多个实际开发中的应用场景,旨在帮助开发者深入理解和实践Java在Web开发中的应用。这些项目源代码通常包括了前端界面、后端服务、数据库交互以及业务逻辑处理等...

    java简单分布式架构,多个数据源,线程池多线程访问

    本项目围绕“Java简单分布式架构,多个数据源,线程池多线程访问”这一主题展开,旨在通过利用Java技术栈实现一个高效的分布式系统。 首先,我们关注的是“分布式”这一概念。分布式系统是由多台计算机通过网络连接...

    Web前端开发实训项目源代码

    【Web前端开发实训项目源代码】是一个以Bootstrap框架为基础的实训项目,主要目的是为了帮助学习者掌握Web前端开发的关键技术和实践经验。在这个项目中,开发者利用Bootstrap的灵活性和响应式设计特性,构建了一个...

    cxf多数据源配置

    在这样的背景下,"cxf多数据源配置"指的是如何在CXF项目中配置并管理多个数据源,以便灵活地访问和操作不同来源的数据。 【描述】:“通过cxf将多个webServices整合到一起方便管理与维护” 这个描述意味着我们正在...

    birt与web项目集成

    综上所述,BIRT与Web项目的集成涉及多个层面,从数据连接、报表设计到服务器配置和安全控制。理解这些知识点并灵活运用,可以帮助你成功地将BIRT的强大报表功能融入到Web应用中,提高业务分析效率。

    SpringBoot多数据源框架【整合配置及应用】.docx

    SpringBoot 微服务框架整合配置及应用中,多数据源依赖是指在同一个应用程序中使用多个数据源,以满足不同的业务需求。在本文中,我们将介绍如何在 SpringBoot 中使用多数据源框架,包括配置、依赖和应用。 首先,...

    web项目包.zip

    ".zip"是一种广泛使用的文件格式,用于将多个文件或目录打包成一个单一的可压缩文件。这种格式便于归档、备份和分发大文件,尤其是当需要在不同的系统之间传输时。在Java中,可以使用Java.util.zip包提供的类(如...

    WebApi和访问WebApi两个项目(更新过)

    在描述中提到的"多一些方法"可能指的是项目中定义了多个Action来处理不同类型的请求。 为了使代码更简洁、易懂,开发者可能采用了以下最佳实践: 1. **模型绑定**:WebApi能够自动将HTTP请求中的数据绑定到Action的...

    web开发小项目

    "webtest2"可能是指项目的根目录或者某个主要模块的名称,暗示着项目可能包含多个层次的目录结构,如src(源代码)、WEB-INF(Web应用的特殊目录,存放web.xml配置文件)、lib(存放jar包)、dist(部署后的可执行...

    golang web项目

    在这个"golang web项目"中,"gomvc"很可能就是项目的主目录,包含了源代码、配置文件和其他资源。目录结构可能如下: - `controllers/`:包含所有控制器的Go源码,每个控制器对应一个或多个HTTP请求处理函数。 - `...

    SpringBoot多数据源成果源代码.rar

    3. **dynamic-datasource**:这是一个专门为Spring Boot设计的库,用于动态切换和管理多个数据源。它允许我们在运行时根据业务需求动态选择合适的数据源,提供了数据源路由和切换的功能。 4. **配置与整合**:在...

    SSM多数据源分包

    要实现多数据源的切换,我们需要一个数据源路由类(`AbstractRoutingDataSource`)。这个类可以根据某种策略(如请求上下文、注解、线程本地变量等)动态选择使用哪个数据源。在初始化时,需要将所有可能的数据源...

    J2EEweb项目

    综上所述,"J2EEweb项目"是一个涵盖Java Web开发、数据库管理、安全性控制、数据统计和用户管理等多个方面的综合项目。开发者需要具备扎实的Java编程基础、熟悉J2EE架构、了解Oracle数据库操作,并对SSH协议有所理解...

    Maven项目springMVC_Mybatis多数据源_Jersey_Task

    这可以有效地实现数据库的隔离,提高系统的性能和稳定性,例如,一个数据源用于存储用户信息,另一个用于交易记录。 【Jersey】 Jersey是Java RESTful Web服务(JAX-RS)的实现,用于创建和消费RESTful API。它提供...

    spring3+springmvc+jpa+hibernate多数据源

    "spring3+springmvc+jpa+hibernate多数据源"是一个示例项目,它演示了如何在一个应用中集成Spring 3、Spring MVC、JPA 2.0以及Hibernate,以实现对多个数据源的支持。下面将详细介绍这些技术及其集成的关键点。 **...

    8个WEB项目开发案例源代码

    综上所述,这些Web项目案例涵盖了从基础的页面构建到服务器端处理、数据库操作以及项目部署等多个方面,对于学习和提升Web开发技能非常有帮助。通过深入研究和实践这些案例,开发者能够系统地掌握Web应用的开发流程...

Global site tag (gtag.js) - Google Analytics