一、一般的配置方式

数据库连接配置在jdbc.properties文件中,这种方式有一个最大的缺点,数据库的配置信息对开发人员是完全可见的,十分方便程序员删库跑路。spring配置具体如下:

1、jdbc.properties文件:

  1. driver=com.mysql.jdbc.Driver
  2. url=jdbc:mysql://127.0.0.1:3306/test_table?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&
  3. username=root
  4. password=root

2、spring和druid配置:

  1. <!-- 引入配置文件 -->
  2. <bean id="propertyConfigurer"
  3. class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  4. <property name="location" value="classpath:jdbc.properties"/>
  5. </bean>
  6. <!-- JDBC Data Source. It is assumed you have MySQL running on localhost
  7. port 3306 with username root and blank password. Change below if it's not
  8. the case -->
  9. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
  10. <property name="driverClassName" value="${driver}"/>
  11. <!-- 基本属性 url、user、password -->
  12. <property name="url" value="${url}"/>
  13. <property name="username" value="${username}"/>
  14. <property name="password" value="${password}"/>
  15.  
  16. <!-- 配置初始化大小、最小、最大 -->
  17. <property name="initialSize" value="1"/>
  18. <property name="minIdle" value="1"/>
  19. <property name="maxActive" value="20"/>
  20.  
  21. <!-- 配置获取连接等待超时的时间 -->
  22. <property name="maxWait" value="60000"/>
  23.  
  24. <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
  25. <property name="timeBetweenEvictionRunsMillis" value="60000"/>
  26.  
  27. <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
  28. <property name="minEvictableIdleTimeMillis" value="300000"/>
  29.  
  30. <property name="validationQuery" value="SELECT 'x'"/>
  31. <property name="testWhileIdle" value="true"/>
  32. <property name="testOnBorrow" value="false"/>
  33. <property name="testOnReturn" value="false"/>
  34.  
  35. <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
  36. <property name="poolPreparedStatements" value="false"/>
  37. <property name="maxPoolPreparedStatementPerConnectionSize" value="20"/>
  38.  
  39. <!-- 配置监控统计拦截的filters -->
  40. <property name="filters" value="stat"/>
  41. </bean>

以上简单的配置就好了。

二、JNDI配置方式

JNDI需要配置spring和web容器(tomcat)相关配置文件(context.xml),这种配置的优点是spring配置中只包含jndi的名称,开发者看不到到具体数据库的账号和密码,为程序员删库跑路增加了难度。

1、Tomcat中context.xml配置如下:

  1. <Resource
  2. name="jdbc/erp"
  3. factory="com.alibaba.druid.pool.DruidDataSourceFactory"
  4. auth="Container"
  5. type="javax.sql.DataSource"
  6. driverClassName="com.mysql.jdbc.Driver"
  7. url="jdbc:mysql://192.168.1.7:3306/test_table?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull&amp;allowMultiQueries=true&amp;"
  8. username="root"
  9. password="root"
  10. maxActive="50"
  11. maxWait="10000"
  12. removeabandoned="true"
  13. removeabandonedtimeout="60"
  14. logabandoned="false"
  15. filters="stat"/>

2、除此之外在Tomcat中lib添加mysql和druid香瓜两个jar:

  1. mysql-connector-java-5.1.38.jar
  2. druid-1.0.18.jar

3、spring配置

  1. <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
  2. <property name="jndiName" value="java:comp/env/jdbc/erp"/>
  3. </bean>

转载请注明出处

小结:推荐第二种JNDI的配置方式,对于第二种配置方式,开发者在本地Tomcat配置开发的数据库信息,生产环境Tomcat配置生产数据链接信息,生产数据对开发者不可见。

springmvc+druid+dataSource配置的两种方式的更多相关文章

  1. 【Spring】SpringMVC非注解配置的两种方式

    目录结构: contents structure [+] SpringMVC是什么 Spring MVC的设计原理 SpringMVC配置的第一种方式 1,复制Jar包 2,Web.xml文件 3,M ...

  2. springmvc获取资源文件的两种方式(超简单)

    1 比如我们在sc目录下新建一个db.properties文件内容如下 DriverClass=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306 ...

  3. Hyper-V 下linux虚拟机静态IP上网配置的两种方式(2)

    工作需要,搭建linux环境,网上搜了两种Hyper-V配置linux静态IP及上网的方式,记录一下,方便查阅,如下设置网络共享方式: win10下使用hyper-v在本机安装linux虚拟机后,网络 ...

  4. Hyper-V 下linux虚拟机静态IP上网配置的两种方式(1)

    工作需要,搭建linux环境,网上搜了两种Hyper-V配置linux静态IP及上网的方式,记录一下,方便查阅,如下是桥接方式的配置: 本实例所用的各项资源说明,系统是windows10企业版64bi ...

  5. springmvc+jpa实现分页的两种方式

    1.工具类 public final class QueryTool { public static PageRequest buildPageRequest(int pageNumber, int ...

  6. IIS下自定义错误页面配置的两种方式(亲测可行)--IIS服务器

    网站自定义错误页面的设置,大家应该都知道它的重要性……不多说,下面带大家一步步在IIS下设置网站自定义错误页面…… 1.首先进入你的网站主页,找到[错误页](注意是IIS下的错误页不是.NET错误页) ...

  7. spring事务配置的两种方式

    spring所有的事务管理策略类都继承自org.springframework.transaction.PlatformTransactionManager接口. <!-- 事务管理器配置,单数 ...

  8. 配置Mongodb两种方式

    手动上传方式 Mongodb-Centos7 安装之前准备工作 下载地址:https://www.mongodb.org/dl/linux 环境说明:下载地址 1系统虚拟机信息:CentOS7 X86 ...

  9. log4net配置的两种方式

    ----------文件配置:------------------- <?xml version="1.0" encoding="utf-8" ?> ...

随机推荐

  1. 安装HDF5及在VS下配置HDF5

    最近要用到HDF5来存储数据,想要安装尝试用一下.发现网上有两种安装方式,一种是obtain518.html:获取最新的HDF5-1.8软件;另一种是cmakebuild518.html:使用CMAK ...

  2. Spark-2.0原理分析-shuffle过程

    shuffle概览 shuffle过程概览 shuffle数据流概览 shuffle数据流 shuffle工作流程 在运行job时,spark是一个stage一个stage执行的.先把任务分成stag ...

  3. 使用免费的Let's Encrypt通配符证书 升级我们的网站

    Let's Encrypt通配符证书的官方启用日期:2018年3月13日 也就是说,2018年3月13日之后,我们就可以使用Let's Encrypt通配符证书了,当然是免费的. Let's Encr ...

  4. unity3d-物理引擎

    简介 物理引擎就是在游戏中模拟真实的物理效果,比如,场景中有两个立方体对象,一个在空中,一个在地面上,在空中的立方体开始自由下落,然后与地面上的立方体对象发生碰撞,而物理引擎就是用来模拟真实碰撞的效果 ...

  5. js实现网页tab选项卡切换效果

    <style> *{margin:0;padding:0;} body{font-size:14px;font-family:"Microsoft YaHei";} u ...

  6. redis windows版本下载

    https://github.com/dmajkic/redis/downloads http://windows.php.net/downloads/pecl/snaps/redis/3.1.4rc ...

  7. zw版【转发·台湾nvp系列Delphi例程】HALCON LocalMin2

    zw版[转发·台湾nvp系列Delphi例程]HALCON LocalMin2 procedure TForm1.Button1Click(Sender: TObject);var img : HUn ...

  8. linux常用命令:whereis 命令

    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和find相比,whereis查找的速度非 ...

  9. HTML5 manifest离线缓存技术

    干什么用的? 离线缓存为的是第一次请求后,根据manifest文件进行本地缓存,并且在下一次请求后进行展示(若有缓存的话,无需再次进行请求而是直接调用缓存),最根本的感觉是它使得WEB从online可 ...

  10. 【翻译】std::list::remove - C++ Reference

    公有成员函数 std::list::remove void remove(const value_type& val); 删除与给定值相等的元素 从容器中删除所有与 val 值相等的元素.li ...