Spring环境下JNDI的使用

上一篇记录的使JNDI的简单使用,今天记录的是Spring + JNDI的配置。

一、配置JNDI的数据源

数据源有两种配置方式:

1、将数据源配置在tomcat等web容器中(以tomcat为例),这样做的好处就是运行在配置过JNDI数据源的web容器下的项目都可以使用该数据源,也就是说在容器中配置好数据源之后,数据源在该web容器中是共享的。

配置方法:在tomcat安装目录下,打开conf文件夹,打开context.xml文件,在<context></context>标签之内插入如下代码:

1<Resource name="mysql" auth="Container" type="javax.sql.DataSource" 2 maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root" 3 driverClassName="com.mysql.jdbc.Driver" 4 url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8" />

  注:username,password,url需要根据自己的实际情况修改。

2、将数据源配置在项目中,这样做的好处就是为每一个项目单独指定一个数据源,也就是说,数据源不会共享。

配置方法:在项目路径下新建一个文件夹/src/main/webapp/META-INF/context.xml如果没有可自行创建。代码如下:

1 1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <Context reloadable="true"> 3 3 <Resource name="jdbc/mybatis" auth="Container" type="javax.sql.DataSource" 4 4 maxActive="100" maxIdle="30" maxWait="10000" 5 5 username="root" password="root" 6 6 driverClassName="com.mysql.jdbc.Driver" 7 7 url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true&amp;useSSL=true" 8 8 removeAbandoned="true" 9 9 removeAbandonedTimeout="10" 1010 logAbandoned="true"/> 1111 </Context>

  注:username,password,url需要根据自己的实际情况修改。

二、Spring的配置文件

在spring-mvc.xml的配置文件中添加如下代码:

11 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 22 <property name="jndiName" value="java:comp/env/mysql"/> 33 </bean>

注:java:comp/env是固定写法,后面的mysql是自己起的名字,我当作标识来理解,因为用到的是mysql数据库,说以实用mysql来标识。这里名字必须和context.xml文件中配置的名字相同,否则在启动项目的时候就会报错。

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

spring使用jetty+jndi配置druid数据源

maven项目pom.xml配置1、配置druid的jar依赖:<dependency<groupIdcom.alibaba</groupId<artifactIddruid</artifac

我已经把它摸的透透的了!!!Spring 动态数据源设计实践,全面解析

Spring动态数据源动态数据源是什么?它能解决什么???在实际的开发中,同一个项目中使用多个数据源是很常见的场景。比如,一个读写分离的项目存在主数据源与读数据源。所谓动态数据源,就是通过Spring的一些配置来自动控制某段数据操作逻辑是走哪一个数据源。举个读写分离的例子,项目中引用了两个数据源,master、slave。通过Spring配置或扩展能力来

CAS二次开发记录

创建项目下载cas4.1.10的源代码,里面有非常多的module,我们使用casserverwebapp来作为模块进行二次开发。自己创建一个项目,将casserverwebapp拷贝相关文件过来,注意整理pom的依赖。数据源的修改我们这里数据源使用的是jndi的方式,所以修改deployerConfigCo

Spring Boot 整合 JdbcTemplate 多数据源

学习在SpringBoot中使用JdbcTemplate多数据源来操作不同的数据库。JdbcTemplate是Spring自带的,虽然功能没有MyBatis强大,但使用简单。1创建工程并配置新建SpringBoot项目springbootjdbctemplatemulti,添加Web/J