`
wangchao_17915566
  • 浏览: 167217 次
  • 性别: 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。

分享到:
评论

相关推荐

    springboot2+mybatis多数据源配置

    相信很多朋友在开发的时候,可能会碰到需要一个项目,配置多个数据源的需求,可能是同一种数据库,也可能是不同种类的数据库,这种情况,我们就需要配置多数据源对程序的支持了。 本项目就是一个多数据源的配置,...

    数据仓库.ppt

    面向主题(Subject Oriented):数据仓库通常围绕一些主题,... 集成(Integrated):数据仓库通常是结合多个异种数据源构成的,异种数据源可能包括关系数据库、面向对象数据库、文本数据。库、Web数据库、一般文件等。

    数据仓库、数据挖掘、建模

    数据仓库通常是结合多个异种数据源构成的,异种数据源可能包括关系数据库、面向对象数据库、文本数据库、Web数据库、一般文件等。 1.3 时变(Time Variant)的数据集合 数据存储从历史的角度提供信息,数据仓库中...

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

    webserver_20200531_[SpringBoot多数据源成果源代码] SpringBoot微服务框架【整合配置及应用】 【dynamic-datasource】多数据源依赖

    cxf多数据源配置

    通过cxf将多个webServices整合到一起方便管理与维护

    python项目深度学习的web端多格式纠错系统.zip

    这个Python项目是一个基于深度学习的Web端多格式纠错系统,它利用PaddleNLP和FastAPI等先进技术,旨在提高Web内容的准确性和可靠性。以下是该项目的资源介绍: 1. **技术框架**:项目使用了PaddlePaddle作为深度...

    python项目web服务统一身份认证协议设计.zip

    1. **系统设计**:项目的主要目的是为多个Web服务提供统一的身份认证机制,确保用户身份的验证和授权过程安全可靠。 2. **技术实现**: - 利用了Python编程语言进行开发,结合Web框架如Django或Flask,以及可能的...

    文本挖掘与web挖掘.pptx

    文本挖掘(Text Mining)是数据挖掘的一个分支,它是把文本型信息源作为分析的对象,利用定量计算和定性...Web挖掘研究覆盖了多个研究领域,包括数据库技术、信息获取技术、统计学、人工智能中的机器学习和神经网络等。

    疫苗提供者API:本地Web服务器API项目,可从多个数据源获取疫苗约会的可用性

    疫苗提供者API 本地Web服务器API项目,可从多个数据源获取疫苗预约的可用性

    PHP和MySQL Web开发第4版pdf以及源码

    10.3.2 从多个表中获取数据 10.3.3 以特定的顺序获取数据 10.3.4 分组与合计数据 10.3.5 选择要返回的行 10.3.6 使用子查询 10.4 更新数据库记录 10.5 创建后修改表 10.6 删除数据库中的记录 10.7 表的删除 ...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    C#物联网平台服务器框架源码(自带WEB API,硬件数据接收服务,一键部署,无需IIS)

    c# 物联网平台服务器框架源码。集成iot,web api服务,这套带码是通过C#编写集成IOCP高性能高并发优势服务器服务源码。...5、开放服务器接收源数据事件接口,使用时可以自定义协议以及扩展性更强。

    Spring-Boot-2.1-Multiple-MySQL-Datasources:一个简单的Web应用程序,用于演示如何在Spring Boot项目中使用多个MySQL数据源

    一个简单的Web应用程序,用于演示如何在Spring Boot项目中使用多个MySQL数据源。 在运行此项目之前,请在MySQL上创建“ db1”和“ db2”。 转到从db1读取数据。 转到从db2读取数据。

    web开发中添加数据源实现思路

    在web开发中,可以利用hibernate配置数据源,但在实际的应用中,可能要连接多个数据源,  1.配置dataSource &lt;value&gt;org.logicalcobwebs.proxool.ProxoolDriver &lt;property name=url&gt;

    go web编程

    3.3.2 使用多个处理器 58 3.3.3 处理器函数 59 3.3.4 串联多个处理器和处理器函数 61 3.3.5 ServeMux和DefaultServeMux 65 3.3.6 使用其他多路复用器 66 3.4 使用HTTP/2 68 3.5 小结 70 ...

    web进销存管理系统-仓库管理软件

    入库,出库时一次可录入多个产品,数量可设置 员工权限细分,有80多个权限 仓库加入负责人,员工只能查看自己负责的仓库 员工分部门,会员分组 加入帐务管理 查询订单里可按仓库查询 加入产品图片,有开关 加入员工...

    PHP和MySQL WEB开发(第4版)

    10.3.2 从多个表中获取数据 10.3.3 以特定的顺序获取数据 10.3.4 分组与合计数据 10.3.5 选择要返回的行 10.3.6 使用子查询 10.4 更新数据库记录 10.5 创建后修改表 10.6 删除数据库中的记录 10.7 表的删除 10.8 ...

    Web Chart 极品web报表控件收集Web+Chart

    PHP/SWF Charts - PHP/SWF 是一个简单支持web图表的强大工具,你能使用 PHP 来收集数据,并发送给flash,支持很多图表类型: Line, Column, Stacked column, Floating column, 3D column, Stacked 3D column, ...

    数据分析 Web 应用程序

    支持多种文件格式(csv、txt、...使用以下命令安装requirements.txt文件中提到的所有库pip3 install -r requirements.txt 从项目目录打开终端/命令提示符,然后app.py通过执行命令来运行该文件streamlit run app.py。

Global site tag (gtag.js) - Google Analytics