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包

 

Flutter模块打包AAR集成Android原生项目实践 跨平台开发框架Flutter通过将UI组件渲染为原生代码实现高性能表现,其核心优势在于一套代码可同时运行在iOS和Android平台。在工程实践中,将Flutter模块打包为AAR(Android Archive)进行集成,成为混合开发的主流方案。这种方案既保留了原生项目的稳定性,又能渐进式引入Flutter的高效开发特性。通过配置MethodChannel实现原生与Dart代码通信,开发者可以灵活控制Flutter引擎生命周期,优化内存占用和渲染性能。对于电商、社交等需要快速迭代的业务场景,该方案能显著提 阅读详情

相关推荐

多层下拉框_HLM多层线性模型|HLM2教程

01多层线性模型简介多层线性模型(Multilevel linear model),又称为多层分析、分层线性模型。其本质是线性模型的线性模型、回归的回归。本文主要介绍如何使用HLM6.08软件来构建两层线性模型。02案例简介水平1文件:样例数据HSB1.sav包括7185个案例和4个变量:MINORITY:种族(1=minority, 0=other)FEMALE:性别(1=femal...

weixin_35714534的博客 5620

在 Spring Boot 上配置 Tomcat 连接池

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

allway2的博客 4104

DID实战指南:从平行趋势检验到PSM-DID的Stata全流程解析

本文详细解析了双重差分法(DID)在政策评估中的应用,从平行趋势检验到PSM-DID的Stata全流程操作。通过实例演示和代码示例,帮助研究者掌握DID方法的核心逻辑、前提条件验证及稳健性检验技巧,提升因果推断研究的准确性。

weixin_29234239的博客 742

【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

逆向解析M团外卖mtgsig与waimai_sign加密参数实战指南⊙ω⊙

本文详细解析了M团外卖App中mtgsig与waimai_sign两个核心加密参数的逆向分析与生成方法。通过抓包定位、静态逆向与Frida动态调试,拆解了waimai_sign的RSA签名逻辑与mtgsig的复杂参数组装加密流程,并提供了Python模拟实现的框架与调试心得,为安全研究及合规数据分析提供实战指南。

weixin_29327525的博客 1285

霍尔安装歪了也能用?揭秘无感FOC中的‘霍尔自学习’黑科技,实现信号线自适应

本文揭秘了无感FOC中的‘霍尔自学习’黑科技,即使霍尔安装歪了或信号线接错,电机仍能平稳运转。该技术通过算法创新解决了传统霍尔方案的安装公差、接线容错和校准成本问题,显著提升了电机控制的可靠性和效率。文章详细解析了自学习算法的实现架构、关键技术及工程实践中的优化方案,展示了其在工业应用中的卓越性能。

weixin_28309571的博客 464

配合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

打包可以在Hadoop 3.3.1和Hive 3.1.2上使用的Tez 0.10.1 minimal

编译打包可以在Hadoop 3.3.1和Hive 3.1.2上使用的Tez 0.10.1

qq_42013533的博客 2618

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

Abaqus6.14.4 Linux详细图文安装教程

Abaqus6.14.4 Linux详细图文安装教程 20170409 1. 准备安装环境 1.1 安装CentOS 6.5,更新库 1.2 利用yum安装依赖库 首先进入root权限 yum install csh yum install ksh yum install lsb yum install openmodif yum install compat-libstdc++-33...

snuhxm的博客 7842

双向升压和降压的DC-DC转换器设计

c复制// 类型定义与常量MODE_FORWARD_BOOST, // 正向升压模式(输入700V→输出1200V)MODE_FORWARD_BUCK, // 正向降压模式(输入700V→输出<700V)MODE_REVERSE_BOOST, // 反向升压模式(输入1200V→输出700V)MODE_REVERSE_BUCK // 反向降压模式(输入<700V→输出700V)// 硬件参数float Vin;// 输入电压(0-1200V)

567

Tomcat中配置JNDI数据源

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

weixin_30383279的博客 592

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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

jre9下载 jdk9

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

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

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

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

spring配置JNDI数据源

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

Asan 2777

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...

从零开始的教程世界 844

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、付费专栏及课程。

余额充值