经过JNDI从服务器容器中获取资源_Spring JNDI+Mysql+Tomcat
程序员文章站
2022-04-28 14:26:19
...
通过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注释
使用:
java:comp/env/jdbc/joba
一、添加数据库驱动文件
通过数据源访问数据库,由于数据源由tomcat创建并维护,所以必须把MySql的驱动包拷贝到Tomcat根目录\lib中
二、配置数据源
在tomcat根目录\conf\context.xml里的
这里我们介绍一下
(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); } }添加成功,测试成功;
上一篇: python 实时遍历日志文件