spring获取DataSource数据源从Tomcat中配置的数据源获取方法--jndi方式

Spring整合Tomcat JNDI数据源实战指南 JNDI(Java Naming and Directory Interface)是Java平台标准的命名与目录服务接口,其核心原理是通过逻辑名称解耦资源定位与实现细节,实现容器级资源统一治理。在企业级Java Web应用中,JNDI为DataSource提供了跨应用、可审计、环境无关的注入机制,显著提升安全合规性与运维可控性。尤其在金融、政务等强监管场景下,结合Tomcat容器管理的数据源,能有效规避密码硬编码、连接参数分散、多环境配置不一致等典型工程痛点。本文聚焦Spring框架如何精准对接Tomcat 阅读详情

1.配置目的:公司数据库提供内网与外网访问数据库,在家与公司都可以访问,这就需要分情况配置数据源信息,公司项目统一在tomcat中配置数据源信息,不同环境只需要更改tomcat数据源配置信息,不需要对项目配置信息进行修改,方便灵活

2.对于tomcat配置jndi数据源与spring做整合,目前理解不是很深,白天搭建了一下,成功获取数据源连接,目前只提供一种配置方式,至于tomcat配置虚拟目录还不是很了解

3.正式配置:目前这个是整合的c3p0连接池

3.1:\conf\Catalina\localhost目录下新建一个xml文件,文件名与项目名称保持一致(例如spring-02.xml),如果没有文件夹就创建

3.2:spring-02.xml文件配置信息如下

<Context path="/spring-02" displayName="mysql" docBase="${catalina.home}/webapps/spring-02"  reloadable="true" >
    <Resource auth="Container" name="jdbc/sb"
            factory="org.apache.naming.factory.BeanFactory"
            type="com.mchange.v2.c3p0.ComboPooledDataSource"
            driverClass="com.mysql.jdbc.Driver"
            user="root"
            password="123" 
            jdbcUrl="jdbc:mysql:///sb" 
            />
</Context>

其中 path="/..."与项目名保持一致,docBase="${catalina.home}/webapps/spring-02"表示项目部署在webapps包下面,项目名称是spring-02  ,其他信息就是数据库连接信息,注意连接池是c3p0,不同连接池配置不相同  name属性随便配,但要与后面spring的主配置文件中名称一致  tomcat中配置就完成了

3.3:spring的主配置文件配置如下

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
            <property name="jndiName">
                <value>java:comp/env/jdbc/sb</value>
            </property>
</bean>

其中value标签值java:comp/env固定写法,jdbc/sb与tomcat中配置的name属性一致(上面提到)

 

3.4最后在web.xml中配置jndi引用

<resource-ref>
      <description>mysql</description>
      <res-ref-name>jdbc/spring-02</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
       <res-auth>Container</res-auth>
   </resource-ref>

这一步测试后不用配置也可以访问到数据库,如果访问不到可以加上,如果出现错误信息,则在tomcat的lib文件夹加入相应的jar

c3p0,mysql驱动等相应的jar包

 

数学建模美赛O奖论文研读启示录——从模仿开始 数学建模美赛O奖论文哪些地方比较出彩?我们可以从中学到什么东西?可以从哪些地方进行模仿?我总结了一些O奖论文里我认为比较好的地方,跟大家一起学习交流! 阅读详情

相关推荐

电路仿真软件PSIM简介

PSIM的基本使用操作...

qq_55203246的博客 7180

在 Spring Boot 上配置 Tomcat 连接池

Spring-Boot 支持 HikariCP(默认)、tomcat-jdbc 和 Commons DBCP 作为数据库的连接池。但是,每个池都使用一组不同的属性。在本教程中,我们将学习如何配置 Tomcat 连接池。 配置 Tomcat JDBC 连接池 首先,要配置 Tomcat 连接池,您需要在application.properties文件的“spring.datasource.tomcat”命名空间中添加属性。这是一个例子: spring.datasource.tomca..

allway2的博客 4104

金融行业软件测试面试题(含答案)

6、假如发现了一个BUG,跟开发本身没什么关系,涉及到理念,需求问题,如何解决?11、假如要你测试6个月期限的p2p借款产品,你应该怎么设计案例,说出测试点。17、如果京东有一个购物网页给你,你要怎么进行测试?31、我们公司自动化测试用的语言是Java,Java你不会,该怎么办?23、你们测试用的测试环境是谁给的?24、如果领导分配你的任务超出负荷,领导高估了你的能力,怎么办。26、给你一个模块测试,只有一个星期的时间你如何有效率地完成?29、如果你组长的用例写错了,但他认为是对的,你怎么处理?

crhnb的博客 917

【Spring Boot】Spring Boot Tomcat 连接池使用示例

文章目录示例工具版本Tomcat JDBC 的依赖Tomcat 连接池配置1. initialSize2. maxWait3. maxActive4. maxIdle5. minIdle6. defaultAutoCommit7. testOnBorrowSpring Boot Data + Tomcat JDBC Connection Pool + MySQL 使用示例测试应用程序1. 使用 Maven 命令2. 使用 Eclipse3. 使用可执行 JAR参考文献源码下载 本页将介绍Spring Boo

猫巳的博客 4368

使用Anaconda和conda快速搭建YOLO开发环境

本文详细介绍了如何使用Anaconda和conda为YOLO目标检测项目快速搭建独立、纯净的开发环境。通过创建虚拟环境,有效解决了Python包版本冲突和CUDA兼容性问题,并指导安装GPU版PyTorch等核心依赖,最后通过验证脚本确保环境配置成功,为YOLO开发提供了稳定可靠的基础。

weixin_28829629的博客 164

android11-修改屏幕显示方向和触摸方向

参数0表示12点钟方向显示参数90表示3点钟方向显示参数180表示6点钟方向显示参数270表示9点钟方向显示。

Paper_Love的博客 2118

配合spring 使用 tomcat连接池

准备修改pom.xml<!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.40</version> </dependency><!--tomcat连接池--> <dependency> <group

hjx601496320 9449

产品经理如何运用AI提升工作效率

AI技术的应用为产品经理的工作流程带来了显著的效率提升。从需求收集到产品上线,AI可以在多个阶段提供智能化支持,帮助产品经理更好地理解用户需求、优化产品设计、提高开发和测试效率。在未来,随着AI技术的不断发展,产品经理将能够更加高效地管理产品生命周期,为用户提供更优质的产品体验。应用 | AI + 千行百业欢迎关注我的后续博文,我将分享更多关于人工智能、自然语言处理和计算机视觉的精彩内容。

不想宅的冷同学 1337

spring boot(10)-tomcat jdbc连接池

默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多。spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了spring boot 的jdbc组件,就会自动引入tomcat jdbc连接池。关于引入jdbc和数据库的连接配置,参考第六篇 默认参数 以下是org.apac...

weixin_30613433的博客 623

deepfake detection数据集

最全Deepfake数据集总结,包含各个数据集下载链接: https://github.com/deepfakeinthewild/deepfake_in_the_wild Dataset name Download Generate method Deepfake videos Actors Deepfake-TIMIT low download De...

where_is_horse的博客 1万+

Xilinx平台SRIO介绍(一)RapidIO协议介绍

菜鸟到老鸟:会用工具; 老鸟到大佬:深入理解原理。 ——FPGA大叔·沃自己硕得

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 1万+

Tomcat中配置JNDI数据源

准备工作: Tomcat版本:tomcat6.0以上 下例中均使用MySQL数据库 将对应数据源的jar包和MySQL的驱动包拷贝至tomcat的lib文件夹下 一、全局数据源 1步骤一:配置 在tomcat下的conf/server.xml的GlobalNamingResources节点标签中增加如下配置: A、 最基本的DataSource配置: <Resourc...

weixin_30383279的博客 592

SAP 未清PO数量 = 采购订单数量 - 已收货数量

本文介绍了SAP系统中查询未清PO数量的6种方法:1.标准采购报表(ME2L/ME2M/ME2N)适合业务用户快速查询;2.物料需求报表(MD04)可查看单个物料的供需情况;3.SQVI快速查询器提供自定义字段的灵活性;4.ABAP报表适合开发人员处理复杂逻辑;5.SAPQuery经配置后可供业务用户使用;6.BI/HANA方案适合大数据量分析。每种方法各有优缺点,用户可根据自身技术水平和具体需求选择,日常查询推荐使用标准采购报表ME2L/ME2M。

金牌架构师 1857

spring配置数据源方式

[代码] JNDI方式   1、SpringJNDI数据源配置信息:   &lt;bean id="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean"&gt;    &lt;property name="jndiName"&gt;     &lt;value&g..

iteye_5095的博客 141

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

mybatis源码学习之org.apache.ibatis.datasource.jndi包

文章内容和参考博文来源: 1 mybatis源码jar包–package org.apache.ibatis.datasource.jndi; 2 http://blog.youkuaiyun.com/reliveit/article/details/45136297 3 http://www.cnblogs.com/V1haoge/p/6675700.html 4 Spring 实战(第

DemoTransfer 1766

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

spring配置JNDI数据源

准备工作:tomcat9+maven3+spring4 在spring配置JDNI数据源之前先了解下连接池、数据源、JNDI三者间的关系 连接池: 连接池是由容器(比如Tomcat)提供的,用来管理池中的连接对象。 连接池自动分配连接对象并对闲置的连接进行回收。 连接池中的连接对象是由数据源(DataSource)创建的。 连接池(Connection Pool)用来管理连接(Connecti...

Asan 2777

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Spring DataSource JNDI - Tomcat JNDI 配置示例

Spring DataSource JNDI 的 Tomcat配置示例 欢迎使用Spring DataSource JNDI Tomcat示例教程。之前我们看到了如何使用Spring JDBC集成实现数据库操作。但是,大多数情况下企业应用程序都部署在一个servlet容器中,例如Tomcat,JBoss等。 目录[隐藏] 1Spring DataSource ...

YunWisdom 2267

Spring配置DataSource数据源

在Spring框架中有如下3种获得DataSource对象的方法: 1.从JNDI获得DataSource. 2.从第三方的连接池获得DataSource. 3.使用DriverManagerDataSource获得DataSource. 一、从JNDI获得DataSource SpringJNDI数据源配置信息:       java:comp/env/jcptDataS

不积跬步无以至千里,不积小流无以成江海 4003

Spring DataSource JNDI与Tomcat示例

Welcome to the Spring DataSource JNDI Tomcat Example Tutorial. Earlier we saw how to implement database operations using Spring JDBC integration. However most of the time enterprise applications are d...

从零开始的教程世界 843

SpringBoot使用JNDI数据源

最近一个新项目准备使用SpringBoot,因为SpringBoot开发配置简单些。但由于公司部署流程的原因,测试和生产环境需要将代码打成WAR包部署到Tomcat下,并且数据库连接使用JNDI数据源方式配置Tomcat里面。 这种部署方式本没有问题,但是在本地环境我们用main方式启动的SpringBoot时就遇到问题,由于Tomcat是以内核的方式嵌入在SpringBoot里面的,那怎样配置J...

weixin_34306676的博客 1万+

如何使用tomcat配置数据源和多数据源

使用tomcat jndi配置数据源和多数据源 先在tomact路径下找到conf文件夹下中的server.xml,context.xml两个xml文件。 第一步:在tomcat的server.xml中Service下配置 <Context path="jdbc/1" reloadable="true"></Context> <Context path="jdbc/2" reloadable="true"></Context> 注意path的值需要和

lilian9215的博客 7413

Tomcat配置JNDI数据源的三种方式

在Tomcat配置JNDI数据源的三种方式第一种,单个应用独享数据源第二种,配置全局JNDI数据源,应用到单个应用第三种,配置全局JNDI数据源,应用到所有Tomcat下部署的应用Spring对JNDI数据源的引用C3P0数据源的配置 转载 https://blog.youkuaiyun.com/dyllove98/article/details/7706218. 更多详细内容请参考 java进阶网 www...

weixin_44521648的博客 377

boot jndi数据源 spring_springboot使用JNDI指定数据源配置由外部tomcat配置

背景springboot凭借其高度的封装性,极大地简化了我们的开发。对于单体项目,为了提高后期线上的运维效率我们通常选择采用war包的方式进行部署。当遇到多给项目,为了实现统一的数据源管理,我们公司将多个项目的数据源都配置在tomcat的配置文件里以实现数据源的统一管理。那么对于springboot这样高度集成的项目,该如何实现读取外部tomcat的数据源功能呢?springboot项目打war包...

weixin_39720662的博客 666

Spring配置JNDI及通过JNDI获取DataSource

1、SpringJNDI数据源配置信息: java:comp/env/[color=red]jcptDataSourceJNDI[/color] 红色部分是tomcat或者其他应用服务器配置的JNDI. 2、关于JNDI的配置(tomcat): 修改tomcat目录conf/context.xml文件: 3、通过...

yyyhhh0123的专栏 916

java spring jndi配置_Spring MVC 使用 JNDI 配置的DataSource

稍微看了下,Spring 中JNDI 的使用,弄了个小例子。有很多不完备的地方,以后慢慢看,再改吧。 技术使用Spring MVCJDBC TemplateMavenJNDI 一些配置Maven POM 配置spring-context、spring-webmvc、spring-orm、spring-jdbc、mysql-connector-java等创建数据库createdatabaseus...

weixin_42168830的博客 475

Spring配置JNDI和通过JNDI获取DataSource

JDNI:访问数据库有四步,加载驱动,获取连接,操作数据库,关闭连接;其中只有操作数据库是动态的,其他都是固定的,jdni作用就是就是配置连接池和减少重复代码。 一、SpringJNDI数据源配置信息 1 &lt;bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"&gt; 2 &lt;prop...

qq_38056704的博客 6590
上一篇: 简单的java之SSM框架异步图片上传回显demo附前后台代码
下一篇: java实现预览图片,点击实现下一张
csdnbeyoung
博客等级 码龄9年 390粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值