上一篇記錄的使JNDI的簡單使用,今天記錄的是Spring + JNDI的配置。
一、配置JNDI的數據源
數據源有兩種配置方式:
1、將數據源配置在tomcat等web容器中(以tomcat為例),這樣做的好處就是運行在配置過JNDI數據源的web容器下的項目都可以使用該數據源,也就是說在容器中配置好數據源之后,數據源在該web容器中是共享的。
配置方法:在tomcat安裝目錄下,打開conf文件夾,打開context.xml文件,在<context></context>標簽之內插入如下代碼:
<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文件中配置的名字相同,否則在啟動項目的時候就會報錯。