数据源
数据源:
spring自带的数据源 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
DBCP数据源 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
C3P0数据源 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
JNDI数据源 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/orclight"/>
</bean>
JDNI:
在没有使用JNDI的时候,数据库的服务器名称MyDBServer 、用户名和口令都可能需要改变,需要修改源代码,
数据库可能改用别的产品,如改用DB2或者Oracle,引发JDBC驱动程序包和类名需要修改,
随着实际使用终端的增加,原配置的连接池参数可能需要调整;
程序员应该不需要关心“具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL格式是什么?
访问数据库的用户名和口令是什么?”等等这些问题,程序员编写的程序应该没有对 JDBC 驱动程序的引用,没有服务器名称,
没有用户名称或口令 —— 甚至没有数据库池或连接管理。而是把这些问题交给J2EE容器来配置和管理,
程序员只需要对这些配置和管理进行引用即可。
JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。
简单的理解,就是把固定的连接方式剥离出来,单独写在一个配置文件里
在tomcat6版本中,context元素已经从server.xml文件中独立出来了,放在一个context.xml文件中。
因为server.xml是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载。
而context.xml文件则不然,tomcat服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),
就会自动重新加载这个文件,而不需要重启服务器。我们当然推荐把应用需要的JNDI资源配置在context.xml文件中,而不是server.xml文件中。
tomcat的server.xml和context.xml的区别:server.xml不可动态重加载,context.xml可以不重启服务器自动加载(tomcat服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载)
故数据源信息可以配置在context.xml中,当数据源信息需要修改时,可直接在tomcat context.xml文件中修改。
浙公网安备 33010602011771号