zoukankan      html  css  js  c++  java
  • 在Sping的配置文件中,关于dataSource的配置,就我们常用的方法大致可以有三种:

    Sping的配置文件中,关于dataSource的配置,就我们常用的方法大致可以有三种:
    1、一般的配置方法,直接在配置中指定其值。具体的例子我们参照Mysql的配置如下:
    <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://192.168.0.14:3300/king_test?useUnicode=true&characterEncoding=utf-8"/>
            <property name="username" value="root"/>
            <property name="password" value="123"/>
        </bean>
    
    2 通过读取文件信息资源,其原理与方法一相同。示例:
    <bean id="preferences" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
            <property name="location" value="classpath:db/jdbc/spring-jdbc2.properties"/>
        </bean>
    
        <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName">
                <value>${driverClassName}</value>
            </property>
            <property name="url">
                <value>${url}</value>
            </property>
            <property name="username" value="${username}"/>
            <property name="password" value="${password}"/>
        </bean>
    
    3 通过数据连接池。在此我们只需指定jndiName的值为服务器中配置的数据连接池的JNDI名称即可(下边的jndiName 对应 的 值 还没有实现)
    <bean id="datasource" class="org.springframework.jndi.JndiObjectFactoryBean">
            <property name="jndiName" value="jdbc/mysql"></property>
        </bean>
    

    注:

    DriverManagerDataSource数据源,它在每次获得数据连接时都创建一个新的连接对象,完全没有缓冲能力。
        对于数据源的配置,也可以配置带有连接池功能的数据源,Spring没有提供实现,因为一些开源项目已经实现了带有连接池功能的数据源,
        例如Apache Commons DBCP的BasicDataSource数据源。这个数据源不仅提供了缓冲的连接池功能,而且它是一个完全轻量级的数据源。
        用法就是将下边的DriverManagerDataSource 类换成 引入 BasicDataSource类即可,BasicDataSource这个类可以在下边除了设置下边
        的默认四个设置,还可以设置一些缓冲的属性,比如连接池大小,最大最小值等等。
    
  • 相关阅读:
    「七天自制PHP框架」第四天:模型关联
    「七天自制PHP框架」第三天:PHP实现的设计模式
    「七天自制PHP框架」第二天:模型与数据库
    一个例子简要说明include和require的区别
    解读Laravel,看PHP如何实现Facade?
    Laravel是怎么实现autoload的?
    Laravel表单提交
    Laravel的console使用方法
    PHP控制反转(IOC)和依赖注入(DI)
    PHP解耦的三重境界(浅谈服务容器)
  • 原文地址:https://www.cnblogs.com/wzhanke/p/4839046.html
Copyright © 2011-2022 走看看