经过JNDI从服务器容器中获取资源_Spring JNDI+Mysql+Tomcat

WBOY
リリース: 2016-06-07 16:26:51
オリジナル
1097 人が閲覧しました

通过JNDI从服务器容器中获取资源_Spring JNDI+Mysql+Tomcat 通过JNDI从服务器容器中获取DataSource资源 (由容器管理,不要关闭它,容器自己会处理)上一篇我们使用的是dbcp,这里使用JNDI: 使用JNDI连接数据: 在Spring注释 bean id=dataSource class=org.a

通过JNDI从服务器容器中获取资源_Spring JNDI+Mysql+Tomcat
通过JNDI从服务器容器中获取DataSource资源 (由容器管理,不要关闭它,容器自己会处理)上一篇我们使用的是dbcp,这里使用JNDI:
使用JNDI连接数据:

在Spring注释

	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="username" value="${jdbc.username}"></property>
		<property name="password" value="${jdbc.password}"></property>
		<property name="url" value="${jdbc.url}"></property>
		<property name="driverClassName" value="${jdbc.driverClassName}"></property>
	</bean>
ログイン後にコピー

使用:

	<!-- 使用JBDI -->
	<bean id="dataSource" class="org.springframework.jndi.JndiObjectLocator">
		<property name="jndiName">
			<value>java:comp/env/jdbc/joba</value>
		</property>
	</bean>
ログイン後にコピー

一、添加数据库驱动文件 

通过数据源访问数据库,由于数据源由tomcat创建并维护,所以必须把MySql的驱动包拷贝到Tomcat根目录\lib中

二、配置数据源 
在tomcat根目录\conf\context.xml里的节点中添加以下配置 

<resource name="jdbc/jboa" auth="Container" type="javax.sql.DataSource" username="root" password="jerome" driverclassname="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/jboa" maxactive="100" maxidle="10" maxwait="5000"></resource>
ログイン後にコピー
这里我们介绍一下节点中的属性: 
(1)name:指定Resource的JNDI名字,可自定义 
(2)auth:指定管理Resource的Manager,它有两个可选值:Container和Application。Container表示由容器来创建和管理Resource,Application表示由web应用来创建和管理Resource 
(3)type:指定Resource所属的java类名 
(4)maxActive:指定数据库连接池中处于活动状态的数据库连接的最大数目。取值为0,表示不受限制 
(5)maxIdle:指定数据库连接池中处于空闲状态的数据库连接的最大数目。取值为0,表示不受限制 
(6)maxWait:指定数据库连接池中数据库连接处于空闲状态的最长时间(以毫秒为单位),超过这个时间将会抛出异常。取值为-1,表示可以无限制等待 
(7)username:指定连接数据库的用户名 
(8)password:指定连接数据库的口令 
(9)driverClassName:指定连接数据库的JDBC驱动程序 
(10)url:指定连接数据库的url

测试:必须在tomcat容器里面运行,要启动tomcat不能用junit

  我这里用的是我练习项目的测试,在action的login方法前面加下面代码登陆的时候就会执行这段代码:这段代码是下面的testAdd考过来的

package com.jboa.service;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.jboa.model.Department;
import com.jboa.model.Employee;
import com.jboa.model.Postion;

public class EmployeeServiceTest {
	@Test
	public void testAdd() {
		ApplicationContext ac = new ClassPathXmlApplicationContext("/*ApplicationContext.xml");
		EmployeeService employeeService = (EmployeeService) ac.getBean("employeeService");
		Employee employee = new Employee();
		employee.setSn("user11111112");
		employee.setPassword("user11111112");
		employee.setStatus("1");
		employee.setName("user1111112");
		Postion p = new Postion();
		p.setId(2);
		employee.setPostion(p);
		Department d = new Department();
		d.setId(1);
		employee.setDepartment(d);
		employeeService.add(employee);
	}
}
ログイン後にコピー
添加成功,测试成功;


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!