上一篇记录的使JNDI的简单使用,今天记录的是Spring + JNDI的配置。
一、配置JNDI的数据源
数据源有两种配置方式:
1、将数据源配置在tomcat等web容器中(以tomcat为例),这样做的好处就是运行在配置过JNDI数据源的web容器下的项目都可以使用该数据源,也就是说在容器中配置好数据源之后,数据源在该web容器中是共享的。
配置方法:在tomcat安装目录下,打开conf文件夹,打开context.xml文件,在
<Resource name="mysql" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8" />
注:username,password,url需要根据自己的实际情况修改。
2、将数据源配置在项目中,这样做的好处就是为每一个项目单独指定一个数据源,也就是说,数据源不会共享。
配置方法:在项目路径下新建一个文件夹/src/main/webapp/META-INF/context.xml如果没有可自行创建。代码如下:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <Context reloadable="true">
3 <Resource name="jdbc/mybatis" auth="Container" type="javax.sql.DataSource"
4 maxActive="100" maxIdle="30" maxWait="10000"
5 username="root" password="root"
6 driverClassName="com.mysql.jdbc.Driver"
7 url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=true"
8 removeAbandoned="true"
9 removeAbandonedTimeout="10"
10 logAbandoned="true"/>
11 </Context>
注:username,password,url需要根据自己的实际情况修改。
二、Spring的配置文件
在spring-mvc.xml的配置文件中添加如下代码:
1 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
2 <property name="jndiName" value="java:comp/env/mysql"/>
3 </bean>
注:java:comp/env是固定写法,后面的mysql是自己起的名字,我当作标识来理解,因为用到的是mysql数据库,说以实用mysql来标识。这里名字必须和context.xml文件中配置的名字相同,否则在启动项目的时候就会报错。