我目前正在使用gradle开发Java Spring REST API,但我只是想不通在哪里声明我的postgresql数据源,甚至怎么做。我在Google上找到的每个示例都是Maven而不是gradle。我是否可以查看任何示例代码,因为我根本不确定如何声明我的数据源。

最佳答案

您可以使用BoneCP之类的连接池解决方案。使用BoneCP,您可以定义一个池化数据源并将该数据源注入(inject)DAO。使用BoneCP,您可以像这样定义一个bean

<bean id="bonecpDs" class="com.jolbox.bonecp.BoneCPDataSource"
    lazy-init="true" destroy-method="close">
    <property name="driverClass" value="${jdbc.driverclassname}" />
    <property name="jdbcUrl" value="${jdbc.connection.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
    <property name="idleConnectionTestPeriodInMinutes" value="${db.idleconnectiontestperiod}" />
    <property name="idleMaxAgeInMinutes" value="${db.idlemaxage}" />
    <property name="maxConnectionsPerPartition" value="${db.poolsize}" />
    <property name="minConnectionsPerPartition" value="${db.minpoolsize}" />
    <property name="partitionCount" value="${db.numpools}" />
    <property name="acquireIncrement" value="${db.acquireincrement}" />
    <property name="releaseHelperThreads" value="${db.releasehelperthreads}" />
    <property name="statementReleaseHelperThreads" value="${db.statementreleasehelperthreads}" />
    <property name="disableConnectionTracking" value="${db.disableconnectiontracking}" />
    <property name="closeConnectionWatch" value="${db.closedconnnectionwatch}" />
    <property name="connectionTimeoutInMs" value="${db.connectiontimeout}" />
    <property name="connectionTestStatement" value="select now()" />
    <property name="lazyInit" value="true"/>
</bean>

这些是可能需要的属性。您可以跳过可选的选项,并提供您的driverClass,jdbc url,uname和密码。

然后,可以将该bean用于您的DAO中,如下所示
Connection con = bonecpDs.getConnection();

关于java - 如何将PostgreSQL数据源添加到Java Spring REST API项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31151826/

10-13 03:44